Я хочу отобразить анимацию в Jupyter с помощью Matplotlib. Вот несколько простых примеров:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
line, = ax.plot(np.random.rand(10))
ax.set_ylim(0, 1)
def update(data):
line.set_ydata(data)
return line,
def data_gen():
while True:
yield np.random.rand(10)
ani = animation.FuncAnimation(fig, update, data_gen, interval=100);
from IPython.display import HTML
HTML(ani.to_jshtml())
Когда я запускаю код в первый раз (или после перезапуска ядра), я получаю то, что хочу:
Однако, когда я запускаю тот же самый код во второй раз, в левом нижнем углу появляется остаток:
Я заметил, что когда я добавляю %matplotlib inline
вверху, то получаю плохой вывод даже после перезапуска ядра. Таким образом, я предполагаю, что я должен установить магическую команду %matplotlib
по умолчанию вверху каждый раз, когда создаю анимацию, но я даже не могу найти, если %matplotlib
имеет значение по умолчанию.
Я использую Анаконду. Вот мои версии:
Конда версия: 4.4.10
Версия Python: Python 3.6.4 :: Anaconda, Inc.
Версия IPython: 6.2.1
Версия Jupyter: 5.4.0