matplotlib之輕松解決中文亂碼的問(wèn)題
matplotlib解決中文亂碼問(wèn)題
python里matplotlib模塊在畫(huà)圖方面用著十分爽,但是在圖中不能顯示中文,這里介紹一種十分簡(jiǎn)單的解決方法。
1. 在代碼開(kāi)始加入兩行代碼,即可成功解決。
#解決中文顯示問(wèn)題 plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默認(rèn)字體 plt.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負(fù)號(hào)'-'顯示為方塊的問(wèn)題
2.效果展示
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
#解決中文顯示問(wèn)題
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默認(rèn)字體
plt.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負(fù)號(hào)'-'顯示為方塊的問(wèn)題
x = np.linspace(-8, 8, 1024)
y1 = 0.618 * np.abs(x) - 0.8 * np.sqrt(64 - x ** 2)
y2 = 0.618 * np.abs(x) + 0.8 * np.sqrt(64 - x ** 2)
plt.plot(x, y1, color='r')
plt.plot(x, y2, color='r')
plt.title("愛(ài)你一萬(wàn)年")
plt.show()3.代碼加入前

4.代碼加入后

5.注:以上為Windows下的方法,Mac下的解決方式 為:
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
Mac下matplotlib中文亂碼的解決
初次用了中文運(yùn)行,發(fā)現(xiàn)一直出現(xiàn)中文亂碼情況,即使加上了前綴還是亂碼。
參考了多方文章,最后解決。
建議如果有友友看過(guò)其他攻略,但還是不行的可以直接跳轉(zhuǎn)步驟6。
解決辦法
1.下載SimHei字體:http://www.fontpalace.com/font-details/SimHei/
2.運(yùn)行以下代碼,找到Matplotlib配置路徑。
import matplotlib matplotlib.matplotlib_fname()
我的得到的是:

/Users/s/anaconda3/lib/python3.10/site-packages/matplotlib/mpl-data/matplotlibrc(這里每個(gè)人用戶名后面會(huì)不一樣,請(qǐng)自己靈活調(diào)整)
3.訪問(wèn)到此路徑下,進(jìn)入font/ttf/。

把步驟1下載的字體粘貼進(jìn)去。

4.返回到步驟3的目錄下,使用文本編輯器打開(kāi)matplotlibrc(一般默認(rèn)就是文本編輯器,不確定的可以右鍵查看打開(kāi)方式)。

5.command+F 查找font.family: sans-serif,去掉前面的注釋符#;

繼續(xù)查font.sans-serif : ,在DejaVu Sans前添加SimHei

最后查找axes.unicode_minus,去掉注釋并將值設(shè)置為False

6.(很重要!?。┻\(yùn)行以下代碼:
from matplotlib.font_manager import _rebuild _rebuild()
測(cè)試
import matplotlib.pyplot as plt import numpy as np x = np.array(["小楊", "小羊", "美女小楊", "美女小羊不失眠"]) y = np.array([12, 22, 6, 18]) plt.barh(x,y) plt.show()
成功!

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中*args和**kwargs的區(qū)別詳解
這篇文章主要介紹了Python中*args和**kwargs的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
Python函數(shù)必須先定義,后調(diào)用說(shuō)明(函數(shù)調(diào)用函數(shù)例外)
這篇文章主要介紹了Python函數(shù)必須先定義,后調(diào)用說(shuō)明(函數(shù)調(diào)用函數(shù)例外),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
python在Windows下安裝setuptools(easy_install工具)步驟詳解
這篇文章主要介紹了python在Windows下安裝setuptools(easy_install工具)步驟,簡(jiǎn)單介紹了setuptools并分析了其安裝步驟與所涉及的相關(guān)軟件,需要的朋友可以參考下2016-07-07
Python基于pygame實(shí)現(xiàn)單機(jī)版五子棋對(duì)戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了Python基于pygame實(shí)現(xiàn)單機(jī)版五子棋對(duì)戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12
為什么說(shuō)python適合寫(xiě)爬蟲(chóng)
在本文中,小編給讀者們整理的一篇關(guān)于分析為什么說(shuō)python適合寫(xiě)爬蟲(chóng)的語(yǔ)言的相關(guān)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-06-06

