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-serifArial 字體)

plt.rcParams[‘font.sans-serif’] = ‘Arial’

到此這篇關於Python中matplotlib如何改變畫圖的字體的文章就介紹到這瞭,更多相關Python matplotlib改變畫圖的字體內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: