Plotly グラフのアニメーション#

※記事内に商品プロモーションを含むことがあります。

公開日

Pythonのインタラクティブなグラフを描画できるライブラリPlotlyにて、グラフのアニメーションを描画する方法を解説します。

Plotlyには、高水準のAPIであるPlotly Expressと呼ばれるものもありますが、 この記事では細かい調節ができるgraph_objectsを対象としています。

アニメーションの基礎#

棒グラフのアニメーションの簡単な例を示します。 "Play"というボタンを押すと、棒グラフが伸びるアニメーションが再生されます。

import plotly.graph_objects as go

layout = go.Layout(
    yaxis={"range": [0, 10]},
    updatemenus=[
        {
            "type": "buttons",
            "buttons": [
                dict(label="Play", method="animate", args=[None]),
            ],
        },
    ],
)

fig = go.Figure(
    data=[go.Bar(x=["Alice", "Bob"], y=[1, 2])],
    layout=layout,
    frames=[
        go.Frame(data=[go.Bar(x=["Alice", "Bob"], y=[1, 2])]),
        go.Frame(data=[go.Bar(x=["Alice", "Bob"], y=[2, 4])]),
        go.Frame(data=[go.Bar(x=["Alice", "Bob"], y=[3, 6])]),
        go.Frame(data=[go.Bar(x=["Alice", "Bob"], y=[4, 8])]),
    ],
)

fig.show()