Matplotlib - Почему фигура спасается дважды? - PullRequest
0 голосов
/ 01 января 2019

Я пытаюсь построить и сохранить фигуру, используя Matplotlib следующим образом:

plt.plot(number_of_epochs, accuracy, 'r', label='Training accuracy')
plt.plot(number_of_epochs, val_acc, 'b', label='Validation accuracy')
plt.title('Training and validation accuracy')
plt.legend()
plt.savefig('accuracy.png')

plt.plot(number_of_epochs, loss, 'r', label='Training loss')
plt.plot(number_of_epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.legend()
plt.savefig('loss.png')

Первая фигура accuracy.png сохраняется в порядке.Однако для loss.png он содержит и показатель точности и показатель потерь.Как я могу сохранить только цифру loss.png в последнем случае?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Использование plt.close() до того, как второй график сделает работу.

0 голосов
/ 01 января 2019

Просто добавьте plt.figure() между двумя графиками.Это поможет вам построить новую фигуру, а не на предыдущей фигуре.Если вам не нужна первая цифра, используйте plt.close().

Попробуйте это

plt.plot(number_of_epochs, accuracy, 'r', label='Training accuracy')
plt.plot(number_of_epochs, val_acc, 'b', label='Validation accuracy')
plt.title('Training and validation accuracy')
plt.legend()
plt.savefig('accuracy.png')

plt.figure()
plt.plot(number_of_epochs, loss, 'r', label='Training loss')
plt.plot(number_of_epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.legend()
plt.savefig('loss.png')
...