@HitGirl

Почему график отображается без вызова метода plt.show()?

Здравствуйте!
В классе у меня есть следующие методы:
def create_plot(self):
        figure(figsize=(15, 15), dpi=80)
        plt.plot(self.prices)

def save_plot(self, filepath):        
        plt.savefig(filepath)

def show_plot(self):
        plt.show()

Я использую Jupyter. Я хочу создать график, сохранить его в файл, а затем отобразить.
obj.create_plot()
obj.save_plot('plot.jpg')
obj.show_plot()

Однако, при вызове метода create_plot, график отображается (хотя не должен). После отображения графика, он очищается и в файл сохраняется только чёрный или белый фон. Как это можно исправить?
  • Вопрос задан
  • 208 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
График как раз таки должен отображаться потому что вы используете Jupyter (IPython). В Jupyter нет необходимости вообще в команде plt.show(), ее просто нет. plt.plot уже рисует график внутри нотебука, любые дальнейшие команды просто обновляют ваш plot. И все.

Можно поменять ему mode. plt.ioff() и тогда через plt.show() (Может и проблемы какие будут настраивать придется) вот нужная вам ссылка на раздел документации. https://matplotlib.org/stable/users/explain/intera...

Главный аргумент, здесь что по умолчанию plt.show() (ничего не делает) в notebooke.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы