Matplotlib
是Python
的一個(gè)2D繪圖庫坠陈,許多小伙伴第一次使用圖表繪制時(shí),會(huì)發(fā)現(xiàn)中文亂碼或者小方塊的情況
原因是Matplotlib
默認(rèn)字體并不包含中文捐康,所以必須設(shè)置為中文字體
準(zhǔn)備工作:
- 系統(tǒng):
Windows
- 環(huán)境管理器:
Anaconda
- IDE:
Jupyter notebook
1.編寫如下代碼仇矾,獲取matplotlib包所在的配置文件的路徑
import matplotlib
matplotlib.matplotlib_fname() #輸出matplotlib包所在的配置文件的路徑
D:\Anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc
2.根據(jù)上面的路徑打開文件夾(根據(jù)自己實(shí)際的輸出路徑去操作)
D:\Anaconda3\lib\site-packages\matplotlib\mpl-data\fonts\ttf
3.加入中文字體
- 打開文件后可以看到滿屏的字體文件,但沒有一個(gè)是支持中文的
- 這時(shí)我們需要在網(wǎng)上下載一個(gè)中文字體吹由,小伙伴們下載自己喜歡的字體若未,這里以SimHei為例
- 把中文字體文件放到文件夾里
到此,準(zhǔn)備工作結(jié)束倾鲫。解決方案有以下兩種:
一粗合、簡單粗暴型
每次繪制圖表前輸入以下代碼
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei']
# Matplotlib中設(shè)置字體-黑體,解決Matplotlib中文亂碼問題
plt.rcParams['axes.unicode_minus'] = False
# 解決Matplotlib坐標(biāo)軸負(fù)號(hào)'-'顯示為方塊的問題
sns.set(font='SimHei')
# Seaborn中設(shè)置字體-黑體乌昔,解決Seaborn中文亂碼問題
值得注意的是隙疚,輸入的字體名稱必須和上面準(zhǔn)備工作中加入的字體文件名稱一致
二、一勞永逸型
1.根據(jù)上面準(zhǔn)備工作獲取matplotlib
包所在的配置文件的路徑磕道,打開matplotlibrc
文件(以記事本方式或其他編輯器方式打開)
D:\Anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc
2.找到#font.sans-senrif
供屉,去掉前面的#
,并在:
后面寫上在準(zhǔn)備工作加入的中文字體的名稱SimHei
3.找到#axes.unicode_minus
溺蕉,去掉前面的#
伶丐,并在:
改為False
修改完畢后記得保存關(guān)閉,然后重新啟動(dòng)Jupyter notebook疯特,等待奇跡的發(fā)生
-
小伙伴們可以根據(jù)自己的情況哗魂,選擇一種解決方案