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

在使用matplotlib绘制直方图时遇到了ValueError,原因是csv文件中存在NaN值。另外,保存SVG图片时底部显示不完整,x轴标签被截断。通过添加bbox参数解决了图片显示问题。此外,import模块时出现UserWarning,需在导入matplotlib库前设置use参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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 already
been 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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值