循环-如何在python中保存多个绘图

循环-如何在python中保存多个绘图,python,list,savefig,Python,List,Savefig,我试图用“列表中的el”保存我得到的图。使用“plot.show()”我只有最后一个绘图。我尝试了另一个“plot.savefig…”,但它不起作用,所以我留下了它们作为评论。代码如下: 绘制气体流量数据图 列表=['N2流量'、'O2流量'、'CH4流量'、'CO2流量'] 对于列表中的el: #using the wells names df[['locx', 'locy', el]] = df[['locx', 'locy', el]].astype(float) plot_data =

我试图用“列表中的el”保存我得到的图。使用“plot.show()”我只有最后一个绘图。我尝试了另一个“plot.savefig…”,但它不起作用,所以我留下了它们作为评论。代码如下:

绘制气体流量数据图 列表=['N2流量'、'O2流量'、'CH4流量'、'CO2流量']

对于列表中的el:

#using the wells names
df[['locx', 'locy', el]] = df[['locx', 'locy', el]].astype(float)
plot_data = df[['locx', 'locy', el, 'measpointname', 'measpointno']]

plot_data_11N = plot_data[plot_data.measpointno.isin(list_wells_11N)]
plot_data_11Z = plot_data[plot_data.measpointno.isin(list_wells_11Z)]
plot_data_12W = plot_data[plot_data.measpointno.isin(list_wells_12W)]
plot_data_12O = plot_data[plot_data.measpointno.isin(list_wells_12O)]

# plot data for the list
plt.rcParams["figure.figsize"] = (12,8)
plt.scatter(x=plot_data_11N['locx'], y=plot_data_11N['locy'],color='darkblue', alpha=0.5, s=plot_data_11N[el]*1000, label="11N")
plt.scatter(x=plot_data_11Z['locx'], y=plot_data_11Z['locy'],color='purple', alpha=0.5, s=plot_data_11Z[el]*1000, label="11Z")
plt.scatter(x=plot_data_12W['locx'], y=plot_data_12W['locy'],color='green', alpha=0.5, s=plot_data_12W[el]*1000, label="12W")
plt.scatter(x=plot_data_12O['locx'], y=plot_data_12O['locy'],color='red', alpha=0.5,s=plot_data_12O[el]*1000, label="12O")
plt.title(el + ' concentration flow_March 2020')
plt.xlabel('x-cordinate')
plt.ylabel('y-cordinate')
plt.legend(markerscale=0.2)
#plt.savefig('gasflows.png')
#plt.savefig(+ "{el['plot_data'].iat[0]}_plot.png")
plt.show()
这一行应该改一下。首先,当您想要组合两个字符串时,使用+。然后,如果要使el成为绘图名称中显示的可编辑变量,则不应将其包含在“”中。 因此,您可以将此行更改为:

    plt.savefig(el + ".png")

成功了!非常感谢。
    plt.savefig(el + ".png")