1. 程式人生 > 程式設計 >Python matplotlib修改預設字型的操作

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 刪掉註釋,新增即可

Python matplotlib修改預設字型的操作

重新啟動 jupyter notebook即可

在新開啟的檔案中輸入,就可以正常顯示漢字

import matplotlib as mpl

mpl.rcParams['font.serif'] = ['SimHei']

以上這篇Python matplotlib修改預設字型的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。