微信扫一扫打赏支持

python:matplotlib绘图无法显示中文或负号,显示为框框

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、问题:无法显示中文,显示为框框。

解决:

  1. 运行代码找到matplotlib配置文件路径

    import matplotlib
    matplotlib.matplotlib_fname()
    
  2. 用文本编辑器打开matplotlibrc配置文件,查找到#font.family:#font.sans-serif这两行。

  3. 去掉这两行的注释,并在font.sans-serif:后添加SimHei(简体黑)

  4. 重启console,运行即可。

 

或者直接在代码中动态指定

plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["font.family"]="sans-serif"

 

 

2、问题:无法显示负号,显示为框框

解决:

  1. 运行代码找到matplotlib配置文件路径

    import matplotlib
    matplotlib.matplotlib_fname()
    
  2. 用文本编辑器打开matplotlibrc配置文件,查找到#axes.unicode_minus:True这一行,去掉注释,True改为False。

  3. 重启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)

 

 

 

 

 

 

 

 
 
 
 
posted @ 2020-08-24 21:10  范仁义  阅读(4814)  评论(0编辑  收藏  举报