IPython上でGIFを表示する
前提
ルートディレクトリに表示したいGIFファイルがある場合を想定します。
!ls sample_data sin_curve.gif
ちなみに上の「sin_curve.gif」を生成するコードはこんな感じ。
%% !pip install animatplot %% """ Introduction to animatplot https://animatplot.readthedocs.io/en/latest/tutorial/getting_started..html#Basic-Animation """ import numpy as np from matplotlib import pyplot as plt import animatplot as amp def main(): xs = np.linspace(0, 1, 50) ts = np.linspace(0, 1, 20) Xs = np.asarray([xs] * len(ts)) Ys = [np.sin(2 * np.pi * (xs + t)) for t in ts] """ # you can also write Xs, Ts = np.meshgrid(xs, ts) Ys = np.sin(2 * np.pi * (Xs + Ts)) """ block = amp.blocks.Line(Xs, Ys) anim = amp.Animation([block]) anim.save_gif("sin_curve") plt.show() if __name__ == '__main__': main()
GIFを表示するコード
以下のコードでGIFを表示させることができる。
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" from IPython import display from pathlib import Path gifPath = Path("sin_curve.gif") with open(gifPath,'rb') as f: display.Image(data=f.read(), format='png')
Path("")
の引数に対象のGIFファイルのPathを入れてれればおけまる。
参考
elegant way to display gif file in notebook? · Issue #10045 · ipython/ipython