python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python用matplotlib画图遇到的问题

python中用matplotlib画图遇到的一些问题及解决

作者:追风的Zoom

这篇文章主要介绍了python中用matplotlib画图遇到的一些问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python用matplotlib画图遇到的一些问题

1.用plt画直方图时

在hist这句话报错

ValueError: max must be larger than min in range parameter.

n, bins, patches = plt.hist(x,num_bins, facecolor=plt.rcParams['axes.color_cycle'][2], alpha=0.5,edgecolor='black',linestyle='-',linewidth=1)

后来发现是由于读取的csv文件中存在NaN值造成的。

因为之前对它进行过增加数据行数,但是恢复原值后没有彻底删除掉所增加的行,而只是把值删除了,所以会报错。

2.plt保存图片时

生成的svg图片下边少了一条,显示不完全,x轴的label只显示了一半:

解决方法:

plt.savefig('D:\\weights_a.svg',format='svg' ,bbox_inches='tight')  #保存为svg格式,再用inkscape转为矢量图emf后插入word中 bbox使保存图片时没白边还能显示完全

加bbox这个参数即可。

3.import时报错

/home/heyintao/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:7: UserWarning:This call to matplotlib.use() has no effect because the backend has alreadybeen chosen; matplotlib.use() must be called before pylab, matplotlib.pyplot,or matplotlib.backends is imported for the first time.

源代码为:

import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('TkAgg')

修改为: 即可。

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

python画直方图报错

max must be larger than min in range parameter

使用plt.show()画直方图,报错为max must be larger than min in range parameter。

不妨把空值去掉试试。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文