使用 matplotlib 繪製函數圖像的時候,發現設置圖像名稱或圖例須要漢字顯示的時候只能獲得 空格
生成圖像中的中文錯誤效果 python
python中的matplotlib僅支持Unicode編碼,默認是不顯示中文的.
python文件中添上一段語句
plt.rcParams['font.sans-serif']=['Simhei']
制定加載本地的字體文件
在python文件中導入matplotlib的字體控制方法windows
from matplotlib.font_manager import FontProperties
另設font變量存儲設置好的屬性函數
font = FontProperties(fname=r'C:\Windows\Fonts\simhei.ttf',size=14)
設置 title 內容時將 font的存儲對象賦給 fontproperties
屬性字體
plt.title(u'y=x 與 y=x^0.5 的函數圖像比較',fontproperties = font)
> 注意中文字符前必定要加
u``編碼
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,100) # 設置自變量的取值[0,100] y1 = x y2 = x**0.5 plt.figure() plt.plot(x,y1,label='y=x') plt.plot(x,y2,label='y=x^0.5',color='red') plt.title('y=x 與 y=x^0.5 的函數圖像比較') plt.legend() plt.show()
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,100) # 設置自變量的取值[0,100] y1 = x y2 = x**0.5 plt.figure() plt.plot(x,y1,label='y=x') plt.plot(x,y2,label='y=x^0.5',color='red') plt.title('y=x 與 y=x^0.5 的函數圖像比較') plt.rcParams['font.sans-serif']=['Simhei'] plt.legend() plt.show()
import numpy as np from matplotlib.font_manager import FontProperties import matplotlib.pyplot as plt x = np.linspace(0,100) # 設置自變量的取值[0,100] y1 = x y2 = x**0.5 plt.figure() plt.plot(x,y1,label='y=x') plt.plot(x,y2,label='y=x^0.5',color='red') font = FontProperties(fname=r'C:\Windows\Fonts\simhei.ttf',size=14) plt.title(u'y=x 與 y=x^0.5 的函數圖像比較',fontproperties = font) plt.legend() plt.show()