Сохраните все графики Matplotlib отдельно в конце без изменения предыдущего кода - PullRequest
0 голосов
/ 02 мая 2018

Можно ли сохранить все графики отдельно в конце кода? Что-то вроде

#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 голосов
/ 02 мая 2018

Вы можете перебрать список номеров открытых фигур:

for i in plt.get_fignums():
    plt.figure(i).savefig('/wherever/files/shall/roam/figure' + str(i) + '.png')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...