最后单独保存所有matplotlib图,而不更改以前的代码

时间:2018-05-02 02:23:42

标签: python python-2.7 matplotlib

是否可以在代码末尾单独保存所有图表?像

这样的东西
#pseudocode
for each in xrange(no_of_plot):
   plt.savefig('test'+str(each)+'.png')

如果代码生成10个图,我应该将10 .png个文件的名称test0发送到test9

有一件事是我不知道no_of_plot这里但我可以运行一次代码来知道数字,如果没有更好的方法。重点是 - 是否可以在最后设置plt.savefig的循环而不必更改以前的代码?

添加:通过

生成图表
def calc_chrom():
  ...
  fig_01 = plt.figure(figsize=(18,11),tight_layout=True)
  ax_nHchrom = plt.subplot2grid((2, 5), (0, 0), rowspan=1, colspan=4)
  ax_nHchrom.plot(each_nparray01.T) # plot numpy array
  ax_nHchrom2 = plt.subplot2grid((2, 5), (1, 0), rowspan=1, colspan=4)
  ax_nHchrom2.plot(each_nparray02.T)
  ...

def calc_mas():  
  fig_02 = plt.figure(figsize=(17,17),tight_layout=True)
  ...

每个图都是从不同文件中的不同函数导入的。

1 个答案:

答案 0 :(得分:0)

您可以遍历开放数字列表:

for i in plt.get_fignums():
    plt.figure(i).savefig('/wherever/files/shall/roam/figure' + str(i) + '.png')