matplotlib 生成的圖像中無(wú)法顯示中文字符的解決方法
前幾天使用matplotlib 繪圖的時(shí)候發(fā)現(xiàn)無(wú)法使用中文字符,所以找了個(gè)筆記,順便分享給大家
開(kāi)發(fā)環(huán)境
- windows 8.1 64bit
- python 3.6.0
- matplotlib 3.2.1
問(wèn)題背景
使用 matplotlib 繪制函數(shù)圖像的時(shí)候,發(fā)現(xiàn)設(shè)置圖像名稱(chēng)或圖例需要漢字顯示的時(shí)候只能得到空格
生成圖像中的中文錯(cuò)誤效果

原因分析
python中的matplotlib僅支持Unicode編碼,默認(rèn)是不顯示中文的.
解決方案
解決方案1
python文件中添上一段語(yǔ)句
plt.rcParams['font.sans-serif']=['Simhei']
之后再次運(yùn)行得出圖像
解決方案2
制定加載本地的字體文件
在python文件中導(dǎo)入matplotlib的字體控制方法
from matplotlib.font_manager import FontProperties
另設(shè)font變量存儲(chǔ)設(shè)置好的屬性
font = FontProperties(fname=r'C:\Windows\Fonts\simhei.ttf',size=14)
設(shè)置 title 內(nèi)容時(shí)將 font的存儲(chǔ)對(duì)象賦給 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) # 設(shè)置自變量的取值[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) # 設(shè)置自變量的取值[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) # 設(shè)置自變量的取值[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()
到此這篇關(guān)于matplotlib 生成的圖像中無(wú)法顯示中文字符的解決方法的文章就介紹到這了,更多相關(guān)matplotlib圖像無(wú)法顯示中文內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python學(xué)習(xí)之不同數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換總結(jié)
類(lèi)型轉(zhuǎn)換,就是將自身的數(shù)據(jù)類(lèi)型變成新的數(shù)據(jù)類(lèi)型,并擁有新的數(shù)據(jù)類(lèi)型的所有功能的過(guò)程。本文將詳細(xì)為大家介紹如何在Python中實(shí)現(xiàn)不同數(shù)據(jù)類(lèi)型的轉(zhuǎn)換,感興趣的可以了解一下2022-03-03
Python 注釋?zhuān)航忉尯蛢?yōu)化代碼可讀性
本文將探討Python中注釋的重要性,以及如何通過(guò)注釋解釋和優(yōu)化代碼的可讀性,了解如何正確使用注釋可以提高代碼的可維護(hù)性和可理解性2023-09-09
Django獲取該數(shù)據(jù)的上一條和下一條方法
今天小編就為大家分享一篇Django獲取該數(shù)據(jù)的上一條和下一條方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
Python的Flask站點(diǎn)中集成xhEditor文本編輯器的教程
xhEditor是基于jQuery的Web端文本編輯器,基本的圖片上傳等功能也都帶有,這里我們就來(lái)看一下Python的Flask站點(diǎn)中集成xhEditor文本編輯器的教程2016-06-06
分享十個(gè)Python提高工作效率的自動(dòng)化腳本
在這個(gè)自動(dòng)化時(shí)代,我們有很多重復(fù)無(wú)聊的工作要做。 想想這些你不再需要一次又一次地做的無(wú)聊的事情,讓它自動(dòng)化,讓你的生活更輕松。本文分享了10個(gè)Python自動(dòng)化腳本,希望對(duì)大家有所幫助2022-10-10
Win7下Python與Tensorflow-CPU版開(kāi)發(fā)環(huán)境的安裝與配置過(guò)程
這篇文章主要介紹了Win7下Python與Tensorflow-CPU版安裝與配置心得,需要的朋友可以參考下2018-01-01

