0

我正在尝试保存使用“el in list”获得的图。使用“plot.show()”我只有最后一个情节。我尝试了另一个“plot.savefig ..”,但它没有用,所以我把它们作为评论留下了。这是代码:

绘制数据气流

list = ['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()
4

1 回答 1

0
#plt.savefig(+ "{el['plot_data'].iat[0]}_plot.png")

这条线应该改变。首先,当您想组合两个字符串时使用 + 。那么如果你想让 el 成为绘图名称中显示的可迭代变量,它不应该包含在 ''. 因此,您可以将此行更改为:

    plt.savefig(el + ".png")
于 2021-05-03T19:49:24.303 回答