我有多个CSV文件,想在同一张图中绘制它们以进行比较。我已经阅读了有关Pandas问题的一些信息,即不能保留内存绘图并且每次创建新绘图。人们谈论使用ax参数,但我不理解...
目前我有以下代码:
def scatter_plot(csvfile,param,exp):
for i in range (1,10):
df = pd.read_csv('{}{}.csv'.format(csvfile,i))
ax = df.plot(kind='scatter',x=param,y ='Adjusted')
df.plot.line(x=param,y='Adjusted',ax=ax,style='b')
plt.show()
plt.savefig('plot/{}/{}'.format(exp,param),dpi=100)
但是它向我展示了10个情节,只保存了最后一个。有什么想法吗?
plt.savefig
需要放在plt.show
之前。 (2)plt.show()
应该在循环外部。 (3) 您可以在循环外创建一个坐标轴进行绘图,ax=plt.gca(); for i in range(1,10): ... df.plot(ax=ax)
。 - ImportanceOfBeingErnest