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

Posted

技术标签:

【中文标题】Plotly:如何更改动画热图中的过渡时间?【英文标题】:Plotlty: How to change transition time in animated heatmap? 【发布时间】:2021-02-24 16:06:56 【问题描述】:

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

我只是想让过渡更快(我有一千步)。

这是来自 @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()

谢谢!

【问题讨论】:

【参考方案1】:

只需替换:

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()

【讨论】:

以上是关于Plotly:如何更改动画热图中的过渡时间?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SwiftUI 中动画/过渡文本值更改

如何更改presentViewController过渡动画

荣耀V10如何设置动画过渡时间?

如何在 R 中为多个热图设置动画

我可以更改 Android startActivity() 过渡动画吗?

如何在 Bootstrap 3 Carousel 中更改滑动动画以淡入/淡出过渡