matplotlib預設字型設定

2021-09-14 05:13:52 字數 920 閱讀 8398

使用matplotlib的pyplot時,是支援unicode的,但預設字型是英文本型,導致中文無法正常顯示。

解決方法有兩種。

一種是手動指定,在**中

from matplotlib.font_manager import fontproperties  

font_song = fontproperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)

使用文字時指定引數 fontproperties=font_song 即可。

另一種是修改配置檔案中的預設字型,需要修改 matplotlibrc 檔案。

這一檔案的位置可以使用 matplotlib.matplotlib_fname() 檢視。

如果沒有修改會在site-package中。

在預設的matplotlibrc中有注釋,建議儲存在$home/.matplotlib/matplotlibrc下(win環境),防止在更新包時配置檔案被覆蓋。

通過 font.family : sans-serif 可以指定預設字型族為 sans-serif

之後在 font.sans-serif 的配置列表中最前加入中文字型即可。

但使用的中文字型應該為中文字型的名稱。

檢視系統的名稱可以通過font_manager檢視。

[ f.name for f in matplotlib.font_manager.fontmanager.ttflist ]

[ f.name for f in matplotlib.font_manager.fontmanager.afmlist ]

這兩個列表。

我使用的win10沒有simsun(宋體),只能使用stsong,不知是何原因。

另外微軟官網字型裡也找不到win10資訊(官網鏈結)。

Matplotlib修改預設字型及某些部分的字型

在使用matplotlib畫圖的時候,有時需要修改預設字型。一種常見的情況是修改全域性字型。另一種情況是需要對某些部分設定不同的字型,如標題和座標軸標籤設定為支援中文的宋體,其他部分保持預設。查詢相關資料後,我總結出一種比較方便的修改全域性及部分字型的方法。如下 python 1.檢視可用系統字型 ...

matplotlib中字型顯示

from matplotlib.font manager import fontproperties 字型管理器 font fontproperties fname r c windows fonts simsun.ttc size 15 設定中文標籤 plt.title u 測試 fontprop...

matplotlib中改變字型的方法

方法一 匯入字型檔案my font font manager.fontproperties fname r c windows fonts 方正粗黑宋簡體.ttf 1 注 在使用時需要加字型引數 匯入字型檔案時如果出錯可以看此文oserror errno 22 invalid argument u2...