
Matplotlib是Python的一個2D繪圖庫,許多小伙伴第一次使用圖表繪制時,會發(fā)現(xiàn)中文亂碼或者小方塊的情況

原因是Matplotlib默認字體并不包含中文,所以必須設置為中文字體
準備工作:
- 系統(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ù)自己實際的輸出路徑去操作)
D:\Anaconda3\lib\site-packages\matplotlib\mpl-data\fonts\ttf
3.加入中文字體

把中文字體文件放到文件夾里
- 打開文件后可以看到滿屏的字體文件,但沒有一個是支持中文的
- 這時我們需要在網(wǎng)上下載一個中文字體,小伙伴們下載自己喜歡的字體,這里以SimHei為例
- 把中文字體文件放到文件夾里
到此,準備工作結(jié)束。解決方案有以下兩種:
一、簡單粗暴型
每次繪制圖表前輸入以下代碼
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei']
# Matplotlib中設置字體-黑體,解決Matplotlib中文亂碼問題
plt.rcParams['axes.unicode_minus'] = False
# 解決Matplotlib坐標軸負號'-'顯示為方塊的問題
sns.set(font='SimHei')
# Seaborn中設置字體-黑體,解決Seaborn中文亂碼問題
值得注意的是,輸入的字體名稱必須和上面準備工作中加入的字體文件名稱一致
二、一勞永逸型
1.根據(jù)上面準備工作獲取matplotlib包所在的配置文件的路徑,打開matplotlibrc文件(以記事本方式或其他編輯器方式打開)
D:\Anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc

打開matplotlibrc文件.jpg
2.找到#font.sans-senrif,去掉前面的#,并在:后面寫上在準備工作加入的中文字體的名稱SimHei

添加文字名稱SimHei
3.找到#axes.unicode_minus,去掉前面的#,并在:改為False

修改負號設置
修改完畢后記得保存關閉,然后重新啟動Jupyter notebook,等待奇跡的發(fā)生
-
小伙伴們可以根據(jù)自己的情況,選擇一種解決方案
