python matplotlib 中如何顯示中文字符

                                                                                      永久解決辦法


第一步:下載字體:msyh.ttf (微軟雅黑) 
1> 放在系統字體文件夾下: /usr/share/fonts 
2> 同時也複製了放在matplotlib的字體文件夾: 
/usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/fonts/ttf/

第二步:修改matplotlib配置文件: 
找到 /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc , 
用文字編譯器打開文件,查找並刪除font.family和font.sans-serif兩行前的#,並在font.sans-serif後添加中文字體Microsoft YaHei, …(其餘不變)

刪除.matplotlib/cache裏面的兩個緩存字體文件,C:\Users\你的用戶名.matplotlib

重啓Python(很重要)
 

 


                                                                        字體對應的名字


win7 操作系統默認支持以下中文字體:

字體    代碼
黑體    SimHei
仿宋    FangSong
楷體    KaiTi
微軟雅黑體    Microsoft YaHei
宋體    SimSun

 

如果裝了 office,那麼還支持以下字體:

字體    代碼
隸書    LiSu
幼圓    YouYuan
華文細黑    STXihei
華文楷體    STKaiti
華文宋體    STSong
華文中宋    STZhongsong
華文仿宋    STFangsong
方正舒體    FZShuTi
方正姚體    FZYaoti
華文彩雲    STCaiyun
華文琥珀    STHupo
華文隸書    STLiti
華文行楷    STXingkai
華文新魏    STXinwei
 


                                                                            配置


我們可以使用 rc 配置(rcParams)來自定義圖形的各種默認屬性。

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

                                                                           舉例 


import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family']='SimHei'
plt.rcParams['font.sans-serif']=['SimHei']
import matplotlib
matplotlib.rcParams['axes.unicode_minus']=False  #解決負號問題
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif']=['SimHei']


x=np.arange(-10,10,0.001)
y=1/(1+np.exp(-x))
plt.xlabel("x")
plt.ylabel("y")
plt.title("Sigmoid激活函數和其導數")
plt.plot(x,y,color='r',label="Sigmoid激活函數")
y=np.exp(-x)/pow((1+np.exp(-x)),2)
plt.plot(x,y,color='b',label="Sigmoid激活函數的導數")
plt.legend()#將plot標籤裏面的圖注印上去
plt.show()

 

出現負號問題的圖 

 

 正常圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章