matplotlib之Font family [‘sans-serif‘] not found的問題解決
在進行matplotlib畫圖的時候,經(jīng)常會出現(xiàn)這個的報錯,雖然知道是因為沒有對應(yīng)的字體的原因,但是,將字體下載后放到目標路徑下,仍然沒有辦法使用,最后才發(fā)現(xiàn),除了下載字體到對應(yīng)目錄下,還需要清除緩存以及修改對應(yīng)的配置才能生效。
解決步驟:
1. 獲取matplot的字體目錄
import matplotlib matplotlib.matplotlib_fname()
通過路徑可以確定字體路徑為:YOUR_PATH/site-packages/matplotlib/mpl-data/fonts/ttf。
2. 下載對應(yīng)的字體
一般來說,我們用Simhei會多一點,直接在網(wǎng)上下載就好了,最終的文件為SimHei.ttf。
3. 將字體放入字體對應(yīng)位置
將字體放入對應(yīng)的文件夾下YOUR_PATH/site-packages/matplotlib/mpl-data/fonts/ttf。
4. 清空緩存
得到緩存目錄:
import matplotlib matplotlib.get_cachedir()
然后,使用rm -rf 得到的路徑刪除緩存。
這一步感覺還是蠻有必要的,如果不做這一步,好像只要出現(xiàn)中文還是會報錯,但是不出現(xiàn)中文的話,就不會有上述報錯了。
5. 修改配置文件
5.1 打開前面在獲取文件目錄時顯示的文件
YOUR_PATH/site-packages/matplotlib/mpl-data/matplotlibrc
5.2 修改相應(yīng)的部分
(1)刪除font.family前面的#號
#font.family: sans-serif -> font.family: sans-serif
(2) 刪除#font.serif前面的#號,并添加Simhei
#font.serif: DejaVu Serif,... -> font.serif: SimHei, DejaVu Serif,...
(3) 刪除#號,并將True改為False
#axes.unicode_minus: True -> axes.unicode_minus: False
6.編寫代碼的時候加上兩句代碼
plt.rcParams["font.sans-serif"]=["SimHei"] #設(shè)置字體 plt.rcParams["axes.unicode_minus"]=False #該語句解決圖像中的“-”負號的亂碼問題
到此這篇關(guān)于matplotlib之Font family [‘sans-serif‘] not found的問題解決的文章就介紹到這了,更多相關(guān)matplotlib Font family [‘sans-serif‘] not found內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
三行代碼使用Python將視頻轉(zhuǎn)Gif的方法示例
本文主要介紹了三行代碼使用Python將視頻轉(zhuǎn)Gif的方法示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10在 Windows 下搭建高效的 django 開發(fā)環(huán)境的詳細教程
這篇文章主要介紹了如何在 Windows 下搭建高效的 django 開發(fā)環(huán)境,本文通過一篇詳細教程實例代碼相結(jié)合給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07Python輸出由1,2,3,4組成的互不相同且無重復的三位數(shù)
這篇文章主要介紹了Python輸出由1,2,3,4組成的互不相同且無重復的三位數(shù),分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02