python:matplotlib繪圖無法顯示中文或負號,顯示為框框
一、總結
一句話總結:
可以修改matplotlib配置文件,也可以直接在代碼中指定
# 解決中文亂碼 plt.rcParams["font.sans-serif"]=["SimHei"] plt.rcParams["font.family"]="sans-serif" # 解決負號無法顯示的問題 plt.rcParams['axes.unicode_minus'] =False
1、matplotlib解決中文亂碼?
plt.rcParams["font.sans-serif"]=["SimHei"]:(簡體黑)
plt.rcParams["font.family"]="sans-serif"
2、matplotlib解決負號無法顯示?
plt.rcParams['axes.unicode_minus'] =False
二、python:matplotlib繪圖無法顯示中文或負號,顯示為框框
轉自或參考:python:matplotlib繪圖無法顯示中文或負號,顯示為框框
https://blog.csdn.net/kaever/article/details/105255481
1、問題:無法顯示中文,顯示為框框。
解決:
-
運行代碼找到matplotlib配置文件路徑
import matplotlib matplotlib.matplotlib_fname()
-
用文本編輯器打開
matplotlibrc
配置文件,查找到#font.family:
和#font.sans-serif
這兩行。 -
去掉這兩行的注釋,並在
font.sans-serif:
后添加SimHei
(簡體黑) -
重啟console,運行即可。
或者直接在代碼中動態指定
plt.rcParams["font.sans-serif"]=["SimHei"] plt.rcParams["font.family"]="sans-serif"
2、問題:無法顯示負號,顯示為框框
解決:
-
運行代碼找到matplotlib配置文件路徑
import matplotlib matplotlib.matplotlib_fname()
-
用文本編輯器打開
matplotlibrc
配置文件,查找到#axes.unicode_minus:True
這一行,去掉注釋,True改為False。 -
重啟console,運行即可。
或者直接在代碼中動態指定
# 解決負號無法顯示的問題 plt.rcParams['axes.unicode_minus'] =False
實例:
import matplotlib.pyplot as plt # 導入matplotlib模塊,用於圖表輔助分析 %matplotlib inline # 解決中文亂碼 plt.rcParams["font.sans-serif"]=["SimHei"] plt.rcParams["font.family"]="sans-serif" # 解決負號無法顯示的問題 plt.rcParams['axes.unicode_minus'] =False samples1 = np.random.normal(size=(1000,)) samples2 = np.random.normal(size=(1000,)) plt.scatter(samples1,samples2)