引言
最近用到matplotlib在ubuntu 16.04上做一些圖表,於是毫無例外地發現了這個問題:中文不能在圖標中正常顯示。
Note: 很多博客,沒有給出一些中文字體的下載地址,有些不方便,我這裏只給出一個我嘗試了的,可以使用的微軟雅黑字體(Microsoft YaHei),這是下載鏈接. 提取碼:bf2a
在網上找了一大圈,並試驗了一些方法,有兩個可用方法:
- 現用現指定
- 一勞永逸(可能比較麻煩)
現用現指定
主要是以下幾行代碼(原文鏈接):
import matplotlib.pyplot as plt
import matplotlib as mpl
# 這裏路徑,需要按照自己情況指定
zhfont=mpl.font_manager.FontProperties(fname='/usr/share/fonts/truetype/wqy/wqy-microhei.ttc')
plt.plot([1, 2, 3])
plt.xlabel(u'x軸標籤', fontproperties=zhfont)
plt.show()
一勞永逸
- 這個方法主要是參照知乎上@木水小亭的回答,大概思路是更改matplotlib的配置文件,重新指定一個可以顯示中文的字體,具體可以去看這裏.
- 如果用的我提供的字體,在更改matplotlib配置文件時,字體英文名字是Microsoft YaHei。