Python利用Matplotlib繪圖無法顯示中文字體的兩種解決方案
問題描述
在Python利用Matplotlib繪圖的時候,無法顯示坐標(biāo)軸上面的中文和標(biāo)題里面的中文
import numpy as np
from matplotlib import pyplot as plt
import chinesename
cn = chinesename.ChineseName()
name_list = cn.getNames(10)
rand_numbers = np.random.choice(np.arange(1,11),size=10,replace=False)
plt.xlabel('name')
plt.ylabel('number')
plt.plot(name_list,rand_numbers,'ob')
plt.show()
運行顯示:

解決方法一:
#解決制圖時不顯示中文的方法,設(shè)置字體
import matplotlib
matplotlib.rc("font", family='Microsoft YaHei')
解決方法二:
plt.rcParams['font.sans-serif'] = 'SimHei'
兩種方法都可以使中文正常顯示

補充:
- SimSun :宋體;KaiTI:楷體;Microsoft YaHei:微軟雅黑
- LiSu:隸書;FangSong:仿宋;Apple LiGothic Medium:蘋果麗中黑;
此外,在圖表中可以顯示中文后,需要對‘-’的顯示進(jìn)行操作,不然數(shù)據(jù)中的負(fù)號會顯示不了,
import numpy as np
from matplotlib import pyplot as plt
#解決制圖時不顯示中文的方法一
import matplotlib
matplotlib.rc("font", family='LiSu')
##解決制圖時不顯示中文的方法二
# plt.rcParams['font.sans-serif'] = 'SimHei'
x = np.arange(-10,10)
y = x*2+5
plt.title('圖表Y=X×2+5')
plt.xlabel('x值')
plt.ylabel('y值')
plt.plot(x,y)
plt.show()

只需加上如下代碼即可:
#當(dāng)字體支持中文后,必須設(shè)置負(fù)號,否則當(dāng)數(shù)值中出現(xiàn)負(fù)號就無法顯示 plt.rcParams['axes.unicode_minus']=False

總結(jié)
到此這篇關(guān)于Python利用Matplotlib繪圖無法顯示中文字體的兩種解決方案的文章就介紹到這了,更多相關(guān)Python Matplotlib繪圖無法顯示中文字體內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)周期性抓取網(wǎng)頁內(nèi)容的方法
這篇文章主要介紹了Python實現(xiàn)周期性抓取網(wǎng)頁內(nèi)容的方法,涉及Python時間函數(shù)及正則匹配的相關(guān)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11
Django?+?Taro?前后端分離項目實現(xiàn)企業(yè)微信登錄功能
這篇文章主要介紹了Django?+?Taro?前后端分離項目實現(xiàn)企業(yè)微信登錄功能,本文記錄一下企業(yè)微信登錄的流程,結(jié)合示例代碼給大家分享實現(xiàn)思路,需要的朋友可以參考下2022-04-04

