Plotly圖表中怎么添加動(dòng)畫(huà)效果

小億
95
2024-05-17 18:34:20

要為Plotly圖表添加動(dòng)畫(huà)效果,您可以使用Plotly的animate功能。以下是一個(gè)簡(jiǎn)單的例子,演示如何為一個(gè)柱狀圖添加動(dòng)畫(huà)效果:

import plotly.express as px

# 創(chuàng)建一個(gè)簡(jiǎn)單的柱狀圖
df = px.data.iris()
fig = px.bar(df, x='species', y='sepal_width', title='Sepal Width by Species')

# 添加動(dòng)畫(huà)效果
fig.update_layout(updatemenus=[{
    'buttons': [
        {
            'args': [None, {'frame': {'duration': 500, 'redraw': True}, 'fromcurrent': True}],
            'label': 'Play',
            'method': 'animate',
        },
        {
            'args': [[None], {'frame': {'duration': 0, 'redraw': True}, 'mode': 'immediate', 'transition': {'duration': 0}}],
            'label': 'Pause',
            'method': 'animate',
        },
    ],
    'direction': 'left',
    'pad': {'r': 10, 't': 87},
    'showactive': False,
    'type': 'buttons',
    'x': 0.1,
    'xanchor': 'right',
    'y': 0,
    'yanchor': 'top',
}])

frames = []
for species in df['species'].unique():
    frame = {'data': [{
        'type': 'bar',
        'x': df[df['species'] == species]['species'],
        'y': df[df['species'] == species]['sepal_width'],
    }], 'name': species}
    frames.append(frame)

fig.frames = frames

fig.show()

在這個(gè)例子中,我們首先創(chuàng)建了一個(gè)簡(jiǎn)單的柱狀圖。然后,我們使用update_layout方法添加了一個(gè)播放和暫停按鈕,以及動(dòng)畫(huà)的持續(xù)時(shí)間和過(guò)渡效果。接下來(lái),我們使用frames屬性為每個(gè)物種創(chuàng)建一個(gè)幀,然后將它們添加到圖表中。

運(yùn)行這段代碼,您將看到一個(gè)帶有動(dòng)畫(huà)效果的柱狀圖。您可以根據(jù)需要調(diào)整動(dòng)畫(huà)的參數(shù)和效果。

0