You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Plotly热力图动画设置静态colorscale,保持帧间颜色与值对应一致

你认为go.Heatmap没有cmin、cmax参数是误判,Plotly的热力图组件原生支持这两个参数,搭配zauto=False禁用自动颜色范围适配,即可实现所有帧的数值与颜色对应关系完全固定,操作方法如下:

  • 先计算所有帧对应z值的全局最小、最大值,作为统一的颜色区间边界
  • 给初始热力图和所有帧中的热力图都添加zauto=False、cmin=全局最小值、cmax=全局最大值三个参数即可

修改后的完整代码示例:

# 先计算全局z值的最大最小值
import numpy as np
z_min = np.min(T_series['thetao'])
z_max = np.max(T_series['thetao'])

framestamps = [go.Frame(data=[go.Heatmap(
    x=lon,
    y=lat,
    z=T_series['thetao'][i],
    colorscale='aggrnyl',
    zauto=False, # 禁用自动调整颜色范围
    cmin=z_min, # 固定颜色最小值
    cmax=z_max # 固定颜色最大值
)]) for i in range(300)]


fig = go.Figure(
    data=[go.Heatmap(
        x=lon,
        y=lat,
        z=T_series['thetao'][0],
        colorscale='aggrnyl',
        zauto=False,
        cmin=z_min,
        cmax=z_max
    )],
    layout=go.Layout(
        updatemenus=[dict(
            type='buttons',
            buttons=[dict(
                label='Play',
                method='animate',
                args = [None, {"frame": {"duration": 250,"redraw": True},
                                "fromcurrent": True}],
            )]
        )]
    ),
    frames=framestamps
)

内容的提问来源于stack exchange,提问作者Mirko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:36:01