Python中matplotlib如何改變畫圖的字體
事情是這樣的:平時我匯報或者寫論文需要畫圖,都會喜歡用Python的 matplotlib 和 seaborn 把數據📊 📈 和分析結果 🗂 直接畫出來,因為這樣太方便,而且解析度非常高。
然而,今天老板說想需要我總結下我的分析結果,然後ta說不喜歡 matplotlib 的字體,讓我改一改。但是,Jupyter Notebook一直報錯說:
Findfont: Font family [‘sans-serif‘] not found. Falling back to DejaVu Sans.
搞得我很頭疼🤯🤯🤯
所以,我就花瞭點時間,研究瞭matplotlib 究竟如何可以隨意改變成 Windowns MS字體。
以下是我的操作系統:
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
安裝完字體,如果不更新字體庫,系統是無法知道你有新的字體要導入 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改變畫圖的字體內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 兩行代碼解決Jupyter Notebook中文不能顯示的問題
- R語言繪圖如何支持中文
- python入門jupyter基礎操作及文本用法
- termux中matplotlib無法顯示中文問題的解決方法
- 淺談哪個Python庫才最適合做數據可視化