在mac上使用matplotlib繪圖的時候之前總是不能輸出中文,這是一個很簡單的小bug,通過搜索教程找到一個稍微簡單的解決方法如下:
1. 添加SimHei字體(simhei.ttf文件)
首先我們在python中運(yùn)行以下命令來查看你的matplotlib所在位置:
matplotlib.matplotlib_fname()
$$$ a_t $$$
參考上述的輸出結(jié)果,進(jìn)入存儲字體的目錄
cd [你自己的一些目錄]/py2.7/lib/python2.7/site-packages/matplotlib/mpl-data/fonts
從網(wǎng)上下載SimHei字體,將simhei.ttf存儲入上面的這個fonts目錄中,最好重命名為 SimiHei.ttf
2. 刪除~/.matplotlib/下的所有緩存文件
rm -rf ~/.matplotlib/*.cache
3. 在代碼中聲明使用simhei字體
開始這一步的時候,最好先重啟一下你的jupyter。
在你要畫圖的的Python文件中,添加
plt.rcParams['font.sans-serif'] = ['SimHei']
以下是一個例子
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib
plt.rcParams['axes.labelsize'] = 14
plt.rcParams['xtick.labelsize'] = 12
plt.rcParams['ytick.labelsize'] = 12
plt.rcParams['font.sans-serif'] = ['SimHei']
from __future__ import division
def logit(x):
return 1/(1+np.exp(-x))
z = np.linspace(-5,5,200)
plt.plot([-5,5],[0,0],'k-')
plt.plot([-5,5],[1,1],'k--')
plt.plot([0,0],[-2,1.2],'k-')
plt.plot([-5,5],[-3/4, 7/4], 'g--')
plt.plot(z, logit(z), 'b-', linewidth=2)
props = dict(facecolor='black', shrink=0.1)
plt.annotate('Saturating', xytext=(3.5, 0.7), xy=(5,1), arrowprops=props, fontsize=14, ha='center')
plt.annotate('Linear', xytext=(2, 0.2), xy=(0,0.5), arrowprops=props, fontsize=14, ha='center')
plt.annotate('Saturating', xytext=(-3.5, 0.7), xy=(-5,0), arrowprops=props, fontsize=14, ha='center')
plt.grid(True)
plt.title(u'我就是我') # 注意以u開頭
plt.axis([-5, 5, -0.2, 1.2])

image.png