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

如何设置plotly.graph_objects.Heatmap日期轴的刻度间隔频率?

你可以直接通过显式指定y轴的刻度位置和显示文本实现需求,完全不需要依赖yperiod参数,也不需要额外计算间隔,代码修改如下:

import plotly.graph_objects as go

# 原有热力图创建逻辑不变
fig = go.Figure(data=[
            go.Heatmap(x=df.columns,
                       y=df.index,
                       z=df.values,
                       colorscale=[[0, 'rgb(248,105,107)'], [1, 'rgb(99,190,123)']],
                       xgap=1,
                       ygap=1,
                       showscale=False)
            ])

# 仅需修改y轴配置,指定刻度和显示内容
fig.update_layout(
    yaxis = dict(
        autorange = "reversed", # 保留原有的最早日期在顶部的逻辑
        tickvals = df.index, # 刻度位置与DataFrame每一行的索引一一对应
        ticktext = df.index, # 刻度文本直接使用索引的原始值
        # 若时间文本过长导致显示重叠,可取消下面注释调整显示角度
        # tickangle = -45
    )
)

fig.show()

之前yperiod参数异常是因为Plotly时间轴的单位解析规则里,大写M代表月份,毫秒对应的单位是小写ms,但即使单位填写正确,自动刻度逻辑也可能因为数据范围自动合并刻度,直接指定tickvals和ticktext是最稳定的实现每行对应一个刻度的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:06:06