matplotlib之Font family [‘sans-serif‘] not found的問題解決
在進(jìn)行matplotlib畫圖的時(shí)候,經(jīng)常會(huì)出現(xiàn)這個(gè)的報(bào)錯(cuò),雖然知道是因?yàn)闆]有對應(yīng)的字體的原因,但是,將字體下載后放到目標(biāo)路徑下,仍然沒有辦法使用,最后才發(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會(huì)多一點(diǎn),直接在網(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)中文還是會(huì)報(bào)錯(cuò),但是不出現(xiàn)中文的話,就不會(huì)有上述報(bào)錯(cuò)了。
5. 修改配置文件
5.1 打開前面在獲取文件目錄時(shí)顯示的文件
YOUR_PATH/site-packages/matplotlib/mpl-data/matplotlibrc
5.2 修改相應(yīng)的部分
(1)刪除font.family前面的#號(hào)
#font.family: sans-serif -> font.family: sans-serif
(2) 刪除#font.serif前面的#號(hào),并添加Simhei
#font.serif: DejaVu Serif,... -> font.serif: SimHei, DejaVu Serif,...
(3) 刪除#號(hào),并將True改為False
#axes.unicode_minus: True -> axes.unicode_minus: False
6.編寫代碼的時(shí)候加上兩句代碼
plt.rcParams["font.sans-serif"]=["SimHei"] #設(shè)置字體 plt.rcParams["axes.unicode_minus"]=False #該語句解決圖像中的“-”負(fù)號(hào)的亂碼問題
到此這篇關(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 pip安裝第三方庫實(shí)現(xiàn)過程解析
這篇文章主要介紹了Python pip安裝第三方庫實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Python的Asyncore異步Socket模塊及實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的例子
asyncore模塊是封裝過的處理socket事件的模塊,采用異步的處理方式,這里我們講來講解Python的Asyncore異步Socket模塊及實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的例子,需要的朋友可以參考下2016-06-06
Python編程實(shí)現(xiàn)tail-n查看日志文件的方法
這篇文章主要介紹了Python編程實(shí)現(xiàn)tail-n查看日志文件的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實(shí)例代碼
這篇文章主要介紹了Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
解決python ThreadPoolExecutor 線程池中的異常捕獲問題
這篇文章主要介紹了解決python ThreadPoolExecutor 線程池中的異常捕獲問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Python中DataFrame判斷兩列數(shù)據(jù)是否相等的方法
本文主要介紹了DataFrame判斷兩列數(shù)據(jù)是否相等的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04

