問(wèn)題
在python中使用matplotlib畫圖,里面的中文會(huì)顯示亂碼方塊。
解決方法
這是由于matplotlib默認(rèn)使用的字體中不包含中文字符引起的,可以通過(guò)將中文字符加入到默認(rèn)字體中解決。
前提:查找本地都有哪些中文字體
打開matplotlib字體,默認(rèn)為
C:\Users\用戶名\.matplotlib
,打開
fontList.json
,查找中文字體如
simHei
,
song
,
kai
等,分別對(duì)應(yīng)簡(jiǎn)體黑、宋體、楷體等。
查找到之后,其對(duì)應(yīng)的
name
字段值即為我們接下來(lái)將要設(shè)置的中文字體名,復(fù)制下來(lái),比如中宋字體
STZhongsong
:
方法一:代碼解決
在腳本開頭加入以下語(yǔ)句即可:
from
pylab
import
mpl
mpl
.
rcParams
[
'font.sans-serif'
]
=
[
'STZhongsong'
]
# 指定默認(rèn)字體:解決plot不能顯示中文問(wèn)題
mpl
.
rcParams
[
'axes.unicode_minus'
]
=
False
# 解決保存圖像是負(fù)號(hào)'-'顯示為方塊的問(wèn)題
方法二:永久解決
運(yùn)行下面的代碼:
import
matplotlib
print
(
matplotlib
.
matplotlib_fname
(
)
)
會(huì)輸出配置文件路徑,如:
C:\Users\gong\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc
打開此文件,找到
#font.family:
和
#font.sans-serif:
開頭的這兩行,將兩行的注釋
#
去掉,并在
font.sans-serif:
后添加自己想加入的中文字體名,如:
然后保存文件,重新運(yùn)行python環(huán)境即可,不必在代碼中做出任何修改。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
