Python savefig步骤出错:ValueError:无法将浮点NaN转换为整数

Python savefig步骤出错:ValueError:无法将浮点NaN转换为整数,python,matplotlib,Python,Matplotlib,我正在尝试创建用于打印多个数据文件的循环 #!/usr/bin/env python # -*- coding: utf-8 -*- import pandas as pd import numpy as np import matplotlib.pyplot as plt import glob import os pathf1 = r'/home/foo/condt/' allfiles1 = glob.glob(pathf1 + '/*.csv') fig1 = plt.figure

我正在尝试创建用于打印多个数据文件的循环

#!/usr/bin/env python
# -*- coding: utf-8 -*-


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import glob
import os

pathf1 = r'/home/foo/condt/'
allfiles1 = glob.glob(pathf1 + '/*.csv')
fig1 = plt.figure()



for filee_ in allfiles1:
       dfp = pd.read_csv(filee_, sep=',', encoding='utf-8')
       ax = plt.subplot(111)
       ax.plot(dfp['col3'], dfp['col2'], ls = '-', color='red', marker='x', markersize = 25.0)
       ax.errorbar(dfp['col1'], dfp['col2'], yerr=dfp['PN_6_FLUX_ERR'], ls='None', marker = '.')
       ax.set_xlim((dfp['col1'].min()-0.1*(dfp['col1'].max()-dfp['col1'].min())), ((dfp['col1'].max()+0.1*(dfp['col1'].max()-dfp['col1'].min()))))
       ax.set_ylim((dfp['col2'].min()-dfp['col2'].max()),((dfp['col2'].max()/2.0)+dfp['col2'].max())
       ax.grid()
       plt.xticks(dfp['col1'])
       plt.yticks(dfp['col2'])
       plt.xlabel('col1')
       plt.ylabel('col2')
       plt.title('col1 vs. col2')
       filenamee = ''+ str('%02s' %filee_)+'.png'
       plt.savefig(filenamee, dpi=600)
       plt.clf()

plt.show()
当我运行代码时,我得到以下信息:

plt.savefig(文件名,dpi=600)

ValueError:无法将浮点NaN转换为整数

文件中类似的列

col1           col2              col3
3.39895E-12    52459.7796644
3.62529E-12    52461.7358623
3.67719E-12    52501.6052951
2.26977E-11    56340.081624
3.38851E-11    53574.1580939     53574.1580939

当我从代码中删除记号时,一切都会正常。。。但我需要在我的图表中加上记号。我怎样才能解决这个问题?

我找到了解决办法。问题源于
matplotlib
库的版本。我想这是一种虫子。要解决此问题,必须使用下面的terminal命令更新
matplotlib\n

pip install --upgrade matplotlib_venn

str(“%02s”%filee\ux)的结果是什么?它给出了文件名。像这样,/home/foo/filename1.csv/home/foo/filenamen.csvare你确定吗?“/home/foo/%02s.csv”%(文件名)的结果是什么,你打印了吗?home/foo//home/foo/filename1.csv.png.csv home/foo//filename2.csv.png.csv home/foo//home/foo/filename3.csv.png.csv home/foo//home/foo/filename4.csv.png。home/foo//home/foo/filenamen.csv.png.csv诸如此类。。。这很奇怪。没错,这很奇怪;),用“+str”(“%s02”%filee_u2;)+“.png”试试看