如何解决循环 - 如何在 python 中保存多个图
我正在尝试使用“el in list”保存我得到的图。使用“plot.show()”我只有最后一个情节。我尝试了另一个“plot.savefig ..”,但它没有用,所以我把它们留作评论。这是代码:
绘制数据气体流量
list = ['N2 流量','O2 流量','CH4 流量','CO2 流量']
对于列表中的 el:
#using the wells names
df[['locx','locy',el]] = df[['locx',el]].astype(float)
plot_data = df[['locx',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',s=plot_data_11Z[el]*1000,label="11Z")
plt.scatter(x=plot_data_12W['locx'],y=plot_data_12W['locy'],color='green',s=plot_data_12W[el]*1000,label="12W")
plt.scatter(x=plot_data_12O['locx'],y=plot_data_12O['locy'],color='red',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()
解决方法
#plt.savefig(+ "{el['plot_data'].iat[0]}_plot.png")
这一行应该改变。首先,当您想要组合两个字符串时使用 +。然后,如果您想让 el 成为绘图名称中显示的可迭代变量,则不应将其包含在 ''. 因此,您可以将此行更改为:
plt.savefig(el + ".png")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。