Plotly:如何更改动画热图中的过渡时间?

Plotlty: How to change transition time in animated heatmap?

我正在 python 中使用 plotly 构建动画热图(就像 所做的那样)。

我只想让转换更快(我有一千步)。

这是我想改编的@rpanai 的代码

import numpy as np
import plotly.graph_objs as go

N = 50
M = np.random.random((N, 10, 10))

fig = go.Figure(
    data=[go.Heatmap(z=M[0])],
    layout=go.Layout(
        title="Frame 0",
        updatemenus=[dict(
            type="buttons",
            buttons=[dict(label="Play",
                          method="animate",
                          args=[None])])]
    ),
    frames=[go.Frame(data=[go.Heatmap(z=M[i])],
                     layout=go.Layout(title_text=f"Frame {i}")) 
            for i in range(1, N)]
)

fig.show()

谢谢!

只需替换:

args=[None])])]

与:

args=[None, {"frame": {"duration": 1000, "redraw": True},}])])]

然后将 1000(即毫秒)更改为适合您需要的持续时间。

完整代码:

import numpy as np
import plotly.graph_objs as go

N = 50
M = np.random.random((N, 10, 10))

fig = go.Figure(
    data=[go.Heatmap(z=M[0])],
    layout=go.Layout(
        title="Frame 0",
        updatemenus=[dict(
            type="buttons",
            buttons=[dict(label="Play",
                          method="animate",
                          args=[None, {"frame": {"duration": 2000, "redraw": True},}])])]
    ),
    frames=[go.Frame(data=[go.Heatmap(z=M[i])],
                     layout=go.Layout(title_text=f"Frame {i}")) 
            for i in range(1, N)]
)

fig.show()