Python matplotlib修改預設字型的操作
matplotlib庫作為Python常用的資料視覺化庫,預設字型居然不支援中文字型,必須得吐槽一下~
閒言少敘,開始正文
方法1:在plot中指定prop引數
使用matplotlib.font_manager下的FontProperties載入中文字型
呼叫函式時通過prop屬性指定中文字型
import matplotlib.pyplot as plt import matplotlib.font_manager as fm x_data = ['2011','2012','2013','2014','2015','2016','2017'] # 定義2個列表分別作為兩條折線的Y軸資料 y_data = [58000,60200,63000,71000,84000,90500,107000] y_data2 = [52000,54200,51500,58300,56800,59500,62700] # 指定折線的顏色、寬度、線形 ln1,= plt.plot(x_data,y_data,color='red',linewidth=2.0,linestyle='--',label='A書年銷量') ln2,y_data2,color='blue',linestyle='-.',label='B書年銷量') # 使用my_font存出一個載入的中文字型 my_font = fm.FontProperties(fname='C:\Windows\Fonts\YaHei.Consolas.1.12.ttf') # 賒著prop引數未該字型 plt.legend(loc='best',prop=my_font) plt.show() var foo = 'bar';
方法2:修改matplotlib預設字型
1、使用互動行獲取matplotlib配置檔案的儲存位置
>>>import matplotlib
>>>matplotlib.matplotlib_fname()
'G:\\Anaconda3\\envs\\PyProjects\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc'
2、開啟檔案,找到如下行
# font.family : sans-serif
3、修改字型為系統中能夠載入中文的字型(這裡我用的是SimHei,即黑體)
font.family : SimHei
當然用Yahei Consolas Hybrid也是可以的(需要自己安裝),但是Microsoft Yahei和msyh都試過了,會報錯,具體原因有待考證~
補充知識:修改 matplotlib 的預設配置新增雅黑字型
根據anaconda安裝路徑找到配置檔案
E:\software\anaconda3\Lib\site-packages\matplotlib\mpl-data\matplotlibrc
開啟,找到 font.sans-serif 刪掉註釋,新增即可
重新啟動 jupyter notebook即可
在新開啟的檔案中輸入,就可以正常顯示漢字
import matplotlib as mpl
mpl.rcParams['font.serif'] = ['SimHei']
以上這篇Python matplotlib修改預設字型的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。