Python活用術:matplotlibで簡単に動画を作成する方法

Pythonで動画を作成するにはどうしたらいいのかなぁ…。ブログやプレゼン用に動画を作成できたら便利そうだけど、難しそう…。
猫男
猫男
catman
catman
それならcatmanに任せておくんだ。Pythonのmatplotlibを使えば、データビジュアリゼーションを動画化するのは簡単さ。手始めに、棒グラフが成長するアニメーションを作ってみよう。

 

Pythonとmatplotlibで動画を作成する方法

Pythonを使って動画を作成することで、動的なデータビジュアリゼーションを実現できます。特に、matplotlibは静止画だけでなく、アニメーションも作成できる強力なライブラリです。

今回は、Pythonとmatplotlibを使って簡単なアニメーションを作成する方法を見ていきます。

 

必要なライブラリをインストールする

まず、アニメーションを作成するために、必要なライブラリをインストールします。matplotlibと、アニメーション管理に使うFuncAnimationが必要です。

pip install matplotlib

これで準備は整いました。次に、アニメーション作成に取り組みます。

 

基本的な棒グラフアニメーションを作成する

matplotlibを使って、棒グラフが成長する様子をアニメーションにしてみましょう。

Pythonコード

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.animation import FuncAnimation

fig, ax = plt.subplots()
x = np.arange(1, 6)
y = np.zeros_like(x)
bars = ax.bar(x, y)

def update(frame):
    for bar, height in zip(bars, frame):
        bar.set_height(height)

ani = FuncAnimation(fig, update, frames=np.random.rand(100, 5), repeat=False)
plt.show()

このコードでは、5本の棒グラフを用意し、ランダムに成長するアニメーションを生成します。FuncAnimationクラスを使って、update関数で各フレームの状態を更新しています。

 

コードの解説

コード 説明
np.arange(1, 6) 横軸のデータ(1から5)を生成します。
ax.bar(x, y) 高さ0の棒グラフを描画します。
update(frame) 各フレームの値を用いて棒グラフの高さを更新します。
FuncAnimation アニメーション管理を行い、update関数を繰り返し呼び出します。

 

わぁ、コードを実行したら棒グラフが動いています!なんだか魔法みたいです。
猫男
猫男
catman
catman
Pythonのmatplotlibを使うと魔法のように動画アニメーションが作れるんだ。この手法をマスターすれば、さまざまなシーンで活用できるよう。

 

アニメーション動画として出力する

作成したアニメーションを動画ファイルとして保存する方法を説明します。matplotlibで作成したアニメーションをMP4形式で保存してみましょう。

Pythonコード

ani.save('bar_growth.mp4', writer='ffmpeg', fps=30)

このコードを追加すると、先ほど作成したアニメーションがbar_growth.mp4として保存されます。fpsはフレームレートを設定しており、ここでは30fpsです。

 

注意点

ffmpegライターを指定していますが、これは事前にインストールされている必要があります。必要に応じてffmpegをインストールしてください。

 

まとめ

以上が、Pythonで動画を作成する基礎的な方法です。Pythonmatplotlibを活用すると、さまざまなビジュアリゼーションを簡単に動画化できます。

  • matplotlibで簡単なアニメーションを作成できる
  • アニメーションをMP4形式で保存可能
  • さまざまなデータビジュアリゼーションに応用できる

これで、Pythonスキルを活かして、ブログやプレゼン用に魅力的な動画を作成できるようになります。

 

Pythonでデータを動画化できるなんて、新たな可能性が広がった感じがします。さっそく試してみます!
猫男
猫男
catman
catman
やってみると面白いだろう。Pythonとmatplotlibでのアニメーション作りをマスターして、さらなる動画活用をしてみるよう。

 

EARTHPG 自動化研究所

「その作業、仕組みにできます。」

Google Apps Script、Python、スプレッドシート自動化、WordPress開発、 API連携、AI活用まで対応。 小さな自動化から業務全体の設計まで、研究所が支援します。