第一步是拷貝字體文件到文件目錄下和刪除matplolib字體緩存文件python
~\site-packages\matplotlib\mpl-data\fonts\ttf\(就是這)
macos
import matplotlib print(matplotlib.matplotlib_fname()) # 會顯示路徑 ~\site-packages\matplotlib\mpl-datawindows
網上其它人在windows下都不拷貝字體文件到目錄中,可是我在mac下必須拷貝,不知道緣由。而後就是刪除~/.cache/matplotlib/下的文件
緩存
第二步是修改matplotlib下的font_manager.py源文件以適應*.ttc字體文件字體
def get_fontext_synonyms(fontext): """ Return a list of file extensions extensions that are synonyms for the given file extension *fileext*. """ return {'ttf': ('ttf', 'otf'), # 此行改成'ttf': ('ttf', 'otf', 'ttc'), 'otf': ('ttf', 'otf'), 'afm': ('afm',)}[fontext]
若是使用*.ttf字體可不改spa
第三步code
myfont = matplotlib.font_manager.FontProperties(fname='/System/Library/Fonts/PingFang.ttc') print(myfont.get_name()) # =>PingFang HK matplotlib.rcParams['font.sans-serif'] = 'PingFang HK' matplotlib.rcParams['axes.unicode_minus'] = False # -符號 plt.title("哈哈") plt.show()
PingFang.ttc文件要拷貝進matplotlib下的ttf文件夾中,字體名字和字體文件名字未必相同,最好先查一下htm
最後誰知道是否能夠不復制字體文件到mp-data文件夾下?blog