事情是這樣的:平時我匯報或者寫論文需要畫圖,都會喜歡用Python的 matplotlib 和 seaborn 把數據📊 📈 和分析結果 🗂 直接畫出來,因為這樣太方便,而且解析度非常高。
然而,今天老板說想需要我總結下我的分析結果,然后ta說不喜歡 matplotlib 的字體,讓我改一改。但是,Jupyter Notebook一直報錯說:
Findfont: Font family [‘sans-serif‘] not found. Falling back to DejaVu Sans.
搞得我很頭疼🤯🤯🤯
所以,我就花了點時間,研究了matplotlib 究竟如何可以隨意改變成 Windowns MS字體。
以下是我的操作系統(tǒng):
OS:Ubuntu 18.04.5 LTS
Python version:3.6.11
Matplotlib: 3.3.2
Seaborn: 0.10.0
步驟:
1. 下載必要的支持庫
sudo apt-get install fontconfig
sudo apt install ttf-mscorefonts-installer

這里需要用 Tab
鍵選擇 Yes>再按Enter
鍵同意,之后等程序順利跑完就可以了。
成功后,就能夠在 /usr/share/fonts/truetype/msttcorefonts/ 下找到新下載的 Windows 字體。
2. 更新字體庫 + 清理 matplotlib 的緩存
sudo fc-cache -fv
rm -fr ~/.cache/matplotlib
安裝完字體,如果不更新字體庫,系統(tǒng)是無法知道你有新的字體要導入 matplotlib。 然后,第二個指令是用來防止 matplotlib運行的時候還用舊版本的緩存設定你的圖表。刪除后,之后運行 matplotlib 就會自動建立一 個新的設定緩存。
3. 打開 Jupyter Notebook
在導入matplotlib和seaborn之后,就可以用
plt.rcParams['font.family']
改變你的字體。舉個栗子,如果我想換成sans-serif,然后查看matplotlib sans-serif 字體的顯示順序,就用下圖的指令:

如果想強制只使用一種字體,也可以再加入下面的指令 (e.g. 只用 sans-serif 的 Arial 字體)
plt.rcParams['font.sans-serif'] = 'Arial'
到此這篇關于Python中matplotlib如何改變畫圖的字體的文章就介紹到這了,更多相關Python matplotlib改變畫圖的字體內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python畫圖工具Matplotlib庫常用命令簡述
- Python超簡單容易上手的畫圖工具庫推薦
- python繪圖模塊之利用turtle畫圖
- Python基礎之畫圖神器matplotlib
- Python畫圖小案例之小雪人超詳細源碼注釋