溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Python中修改matplotlib的默認字體

發(fā)布時間:2021-03-16 15:40:50 來源:億速云 閱讀:403 作者:Leah 欄目:開發(fā)技術(shù)

怎么在Python中修改matplotlib的默認字體?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

方法1:在plot中指定prop參數(shù)

使用matplotlib.font_manager下的FontProperties加載中文字體

調(diào)用函數(shù)時通過prop屬性指定中文字體

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
x_data = ['2011', '2012', '2013', '2014', '2015', '2016', '2017']
# 定義2個列表分別作為兩條折線的Y軸數(shù)據(jù)
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, = plt.plot(x_data, y_data2, color='blue', linewidth=2.0,
        linestyle='-.', label='B書年銷量')
# 使用my_font存出一個加載的中文字體
my_font = fm.FontProperties(fname='C:\Windows\Fonts\YaHei.Consolas.1.12.ttf')
# 賒著prop參數(shù)未該字體
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、修改字體為系統(tǒng)中能夠加載中文的字體(這里我用的是SimHei,即黑體)

font.family : SimHei

當然用Yahei Consolas Hybrid也是可以的(需要自己安裝),但是Microsoft Yahei和msyh都試過了,會報錯,具體原因有待考證~

補充知識:修改 matplotlib 的默認配置添加雅黑字體

根據(jù)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']

關(guān)于怎么在Python中修改matplotlib的默認字體問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI