JupyterLab上でのアニメーションの出力方法
JupyterLab上でmatplotlibのアニメーションを出力する。
以下に参考URLを記載する。
JupyterLab上でmatplotlibのアニメーションを出力する - Qiita
内容を記述する。(消えると困るので)
方法1:IPython.display.HTMLの使用
確認用のコードを以下に示す
import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation from IPython.display import HTML fig, ax = plt.subplots() xdata, ydata = [], [] ln, = plt.plot([], [], 'ro') def init(): ax.set_xlim(0, 2 * np.pi) ax.set_ylim(-1, 1) return ln, def update(frame): xdata.append(frame) ydata.append(np.sin(frame)) ln.set_data(xdata, ydata) return ln, ani = FuncAnimation(fig, update, frames=np.linspace(0, 2 * np.pi, 128), init_func=init, blit=True, interval=50) HTML(ani.to_jshtml()) # HTML(ani.to_html5_video()) # またはこちら
方法2:jupyter-matplotlibの使用
確認用のコードを以下に示す
import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation %matplotlib widget fig, ax = plt.subplots() xdata, ydata = [], [] ln, = plt.plot([], [], 'ro') def init(): ax.set_xlim(0, 2 * np.pi) ax.set_ylim(-1, 1) return ln, def update(frame): xdata.append(frame) ydata.append(np.sin(frame)) ln.set_data(xdata, ydata) return ln, ani = FuncAnimation(fig, update, frames=np.linspace(0, 2 * np.pi, 128), init_func=init, blit=True, interval=50)