Я пытаюсь сделать что-то подобное, чтобы поближе взглянуть на мои данные:
Каков в настоящее время правильный способ динамического обновления графиков в Jupyter / i Python?
Или здесь: https://nbviewer.jupyter.org/gist/branning/c8e63ce81be0391260b1
Это мой код:
%matplotlib notebook
from matplotlib import pyplot as plt
import pandas as pd
START = DATA.index[0]
END = DATA.index[-1]
DT = "6H"
DATERANGE = pd.date_range(START, END, freq=DT)
fig, ax = plt.subplots(figsize(8, 6))
since = DATERANGE[0]
for till in DATERANGE[1:]:
data = DATA['SOME_SERIES'].loc[since:till]
if len(data) > 0:
if ax.lines:
ax.lines[0].set_xdata(data.index)
ax.lines[0].set_ydata(data)
else:
ax.plot(data.index, data)
upper, lower = data.min()*0.9, data.max()*1.1
if not (isnan(upper) or isnan(lower)):
ax.set_ylim((data.min()*0.9, data.max()*1.1))
ax.set_xlim((data.index[0], data.index[-1]))
fig.canvas.draw()
time.sleep(2)
since = till
Моя проблема в том, что во время обновления сюжета он не ' не заполнить холст (надеюсь, я получил терминологию прямо здесь), но только около четверти размера. Выглядит это так:
Участок во время цикла
Только после окончания l oop график становится больше:
Участок после looping
Это также верно для точного кода по ссылкам выше.
Я обновил jupyter и matplotlib, я попробовал fig.tight_layout (), я также попробовал% matplotlib notebook % matplotlib nbagg, но это тоже не сработало ..
У кого-нибудь есть решение для этого?
Спасибо, Филипп