1. ホーム
  2. python

[解決済み] ムービーライター ffmpeg は使用できません。代わりに <class 'matplotlib.animation.PillowWriter'> を使用しようとしています。

2022-02-10 02:37:17

質問

ffmpeg を使わずにムービングプロットを使う方法はありますか?

import matplotlib.animation as animation
from IPython.display import HTML

fig, ax = plt.subplots(figsize=(15, 8))
animator = animation.FuncAnimation(fig, draw_barchart, frames=range(1968, 2019))
HTML(animator.to_jshtml()) 
animator.save('dynamic_images.mp4')

私のコードは上記のとおりですが、キーエラーが発生します。 .mp4' , ValueError: unknown file extension: .mp4

をインストールしてみました。 conda install -c conda-forge ffmpeg SSL問題で終了

  • ffmpegを使わずにムービングプロットを使う方法はありますか?

  • エラーが出るように、'matplotlib.animation.PillowWriter' を使う方法はないでしょうか?

免責事項 : リンク先を参照しました。 https://www.wikihow.com/Install-FFmpeg-on-Windows しかし、そのURLはITチームによってブロックされています。

どうすればいいですか?

アニメーションのプロットは .gif を使用し celluloid ライブラリを使用します。

from matplotlib import pyplot as plt
from celluloid import Camera
import numpy as np


# create figure object
fig = plt.figure()
# load axis box
ax = plt.axes()
# set axis limit
ax.set_ylim(0, 1)
ax.set_xlim(0, 10)

camera = Camera(fig)
for i in range(10):
    ax.scatter(i, np.random.random())
    plt.pause(0.1)
    camera.snap()

animation = camera.animate()
animation.save('animation.gif', writer='PillowWriter', fps=2)

出力します。