Sypder: Как заставить pandas.plot (subplots = True) снова показываться после закрытия окна графика? - PullRequest
1 голос
/ 06 мая 2019

Я создал субплоты на целом кадре данных панд df, используя

plots = df.plot(subplot=True, layout=(2,3))

После этого я получаю сюжет в отдельном окне в Spyder. Однако, если я закрою это окно и захочу снова отобразить графики, я не смогу это сделать. plots.show() не работает, поскольку plots создается как массив numpy. Я просмотрел два других подобных поста, но не могу понять это. 1. Matplotlib: как снова показать сюжет? 2. Matplotlib снова показывает цифру

1 Ответ

2 голосов
/ 06 мая 2019

Создайте отдельный объект фигур и осей и передайте оси на pandas.plot.Это позволяет держать фигуру открытой, не блокируя код.Мне это нравится, потому что я могу обновить рисунок и использовать fig.canvas.draw, а затем fig.show для отображения обновлений.

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({x: range(5) for x in 'abcdef'})
fig, ax = plt.subplots()
df.plot(ax=ax, subplots=True, layout=(2,3))
fig.show()

enter image description here

Тогда, если вызакройте окно с рисунком, чтобы вернуть его другим вызовом fig.show.Вы также можете изменить отдельный участок, как я уже упоминал ранее.

plots[0,0].axhline(3)
fig.canvas.draw()
fig.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...