matplotlib 生成的圖像中無法顯示中文字符的解決方法
前幾天使用matplotlib 繪圖的時候發(fā)現(xiàn)無法使用中文字符,所以找了個筆記,順便分享給大家
開發(fā)環(huán)境
- windows 8.1 64bit
- python 3.6.0
- matplotlib 3.2.1
問題背景
使用 matplotlib 繪制函數(shù)圖像的時候,發(fā)現(xiàn)設置圖像名稱或圖例需要漢字顯示的時候只能得到空格
生成圖像中的中文錯誤效果
原因分析
python中的matplotlib僅支持Unicode編碼,默認是不顯示中文的.
解決方案
解決方案1
python文件中添上一段語句
plt.rcParams['font.sans-serif']=['Simhei']
之后再次運行得出圖像
解決方案2
制定加載本地的字體文件
在python文件中導入matplotlib的字體控制方法
from matplotlib.font_manager import FontProperties
另設font變量存儲設置好的屬性
font = FontProperties(fname=r'C:\Windows\Fonts\simhei.ttf',size=14)
設置 title 內(nèi)容時將 font的存儲對象賦給 fontproperties
屬性
plt.title(u'y=x 與 y=x^0.5 的函數(shù)圖像比較',fontproperties = font)
修改源碼后生成的圖像
附件
修改前的 python 文件
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 的函數(shù)圖像比較') plt.legend() plt.show()
經(jīng)解決方案1修改后的源碼
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 的函數(shù)圖像比較') plt.rcParams['font.sans-serif']=['Simhei'] plt.legend() plt.show()
經(jīng)解決方案2修改后的源碼
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 的函數(shù)圖像比較',fontproperties = font) plt.legend() plt.show()
到此這篇關于matplotlib 生成的圖像中無法顯示中文字符的解決方法的文章就介紹到這了,更多相關matplotlib圖像無法顯示中文內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python 環(huán)境搭建 及python-3.4.4的下載和安裝過程
這篇文章主要介紹了python 環(huán)境搭建 python-3.4.4的下載和安裝過程,文中給大家補充介紹了pycharm的基本用法,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-07-07在pytorch中動態(tài)調整優(yōu)化器的學習率方式
這篇文章主要介紹了在pytorch中動態(tài)調整優(yōu)化器的學習率方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python?web框架實現(xiàn)增加BasicAuth認證詳解
這篇文章主要為大家詳細介紹了Python如何在web框架中實現(xiàn)增加BasicAuth認證,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下2023-05-05