怎么在Python中修改matplotlib的默認字體?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
方法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, = 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參數未該字體 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的默認字體問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯成都網站設計公司行業資訊頻道了解更多相關知識。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網頁名稱:怎么在Python中修改matplotlib的默認字體-創新互聯
標題路徑:http://www.yijiale78.com/article40/dppdeo.html
成都網站建設公司_創新互聯,為您提供標簽優化、網站排名、網站策劃、品牌網站設計、定制網站、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯