2021-04-30 15:48:17 索煒達(dá)電子 6500
pyplot 并不默認(rèn)支持中文顯示,也沒(méi)有自帶中文字體,因此需要自行下載所需字體,并修改 rcParams 參數(shù)來(lái)顯示中文。下面以 SimHei (黑體)字體為例進(jìn)行說(shuō)明。
說(shuō)明:系統(tǒng)環(huán)境為 Linux
安裝字體
1.下載 SimHei.ttf 字體文件
2.查看 matplotlib 的字體路徑
import matplotlib
print(matplotlib.matplotlib_fname())
得到的路徑(如~/.local/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc)是 matplotlib 參數(shù)預(yù)加載文件matplotlibrc的路徑,則字體的存放路徑為~/.local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf。
將下載好的字體文件復(fù)制到該目錄下
3.刪除 matplotlib 的緩沖目錄
查看 matplotlib 的字體緩存路徑:
import matplotlib
print(matplotlib.get_cachedir())
得到的路徑如~/.cache/matplotlib,在終端使用rm -rf ~/.cache/matplotlib命令刪除緩存目錄。
這樣做之后,在使用 matplotlib 繪圖時(shí),會(huì)自動(dòng)生成新的緩存目錄。
設(shè)置參數(shù)
使用 matplotlib 繪圖時(shí),添加以下幾行代碼:
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei'
matplotlib.rcParams['font.size'] = 10
matplotlib.rcParams['axes.unicode_minus']=False
''' 使用下面語(yǔ)句也可以
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['font.size'] = 10
plt.rcParams['axes.unicode_minus']=False
'''
這樣就可以在繪圖時(shí)使用該中文字體了。
也可以在前面提到的 matplotlibrc 文件中修改這些參數(shù)。這里選擇在代碼中修改。
幾種常用的中文字體: