如何设置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
相关产品推荐
相关产品推荐

