Python - опция автоинкремента matplotlib для сохранения фигуры - PullRequest
0 голосов
/ 06 декабря 2018

У меня глупый, но очень раздражающий вопрос о matplotlib.Я постоянно генерирую фигуры и сохраняю их на диск, используя кнопку «Сохранить» на всплывающем экране с рисунком matplotlib.Поведение этого окна по умолчанию используется для автоматического увеличения индекса имени по умолчанию для сохраняемого файла, например, опция будет состоять в том, чтобы сохранить «Figure_120.png», когда уже было сохранено 119 других рисунков.

Но последняя версия matplotlib по умолчанию этого не делает, и мне приходится каждый раз редактировать и переименовывать фигуры.Я делаю что-то неправильно?И как matplotlib всегда считывал содержимое выходного каталога по умолчанию, чтобы знать, как индексировать значение по умолчанию?

enter image description here

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Таким образом, предложение Томаса Куна немного глупо, но оно работает: когда вы нажимаете кнопку Сохранить, оно сохраняет фигуру, как в заголовке.Я добавил случайное число, вот полное решение:

figure = plt.figure()
figure.canvas.set_window_title("Fig_"+str(np.random.randint(1E8)))
0 голосов
/ 13 декабря 2018

Вы можете сохранить рисунок в каталоге.Каталог будет переименован по текущей дате, а цифра - по текущему времени.Соответствующий код:

import os.path
import os, errno

cur_Date = time.strftime("%Y-%m-%d")
cur_Time = time.strftime("%H-%M")
%create directory if it did not exist
try:
    os.makedirs(cur_Date)
except OSError as e:
    if e.errno != errno.EEXIST:
        raise
   # your figure creation lines ....
   # save the figure to file
   fig.savefig(cur_Time+'.png')  
...