1. 程式人生 > >python中圖片顯示中文的方法和原理

python中圖片顯示中文的方法和原理

控制matplotlib畫圖中圖片字型的引數是在rcParmas中設定,預設的引數設定中使用的字型為sans-serif類,其中包括了常見的Arial和Helvetica等,但這些字型是不支援顯示中文的。通過更改該引數中的字型設定,將其轉為一種支援中文的字型,即可達到顯示中文的目的。具體如下:

import matplotlib
matplotlib.rcParams
#rcParams是一個字典,其中有各種引數,涉及字型的有以下幾種

輸出的內容如下
{
‘font.family’:[‘sans-serif’],
‘font.fantasy’:[……],
‘font.monospace’:[……],
‘font.sans-serif’:[……],
‘font.serif’:[……],
……
}

在rcParams中,font.family定義了畫圖使用哪種字型,目前是sans-serif。供選擇的字型類就是下面的四個:fantasy(活潑字型?我自己瞎翻譯的),monospace(等寬字型),sans-serif(無襯線字型),serif(襯線字型)。目前網路上常用的、有效的解決辦法是:

matplotlib.rcParams['sans-serif'] = ['SimHei']

其原理就是,將sans-serif的字型改為SimHei,而rcParams呼叫的就是sans-serif字型類,即其中的SimHei字型。目前試驗下來,除了’SimHei’和’KaiTi’之外,改為其他的仍無法顯示。

其實,也可以直接用下面的方法設定,效果是一樣的。

rcParams['font.family'] = 'SimHei'