如何自定义Plotly Express甘特图x轴日期标签仅显示月份
Plotly Express 甘特图X轴仅显示月份标签配置方法
通过plotly内置的轴属性配置即可实现需求,无需修改原始数据集,核心是控制日期轴的刻度间隔与显示格式,覆盖默认的自动日期标签规则。
- 配置
dtick="M1":强制X轴刻度间隔为1个自然月,避免跨年度时plotly自动聚合刻度、追加年份标签 - 配置
tickformat:指定日期文本的渲染格式,仅保留月份字段:- 传值
%b时显示月份缩写(英文环境为Jan/Feb,中文环境为1月/2月) - 传值
%B时显示月份全称(英文环境为January/February,中文环境为一月/二月)
- 传值
- 配置
ticklabelmode="period":让刻度标签与自然月周期对齐,避免跨时间段的标签错位
完整可运行示例代码如下:
import plotly.express as px import pandas as pd # 跨年度测试数据集 df = pd.DataFrame([ dict(Task="任务1", Start="2023-01-08", Finish="2023-03-20", Group="一组"), dict(Task="任务2", Start="2023-12-01", Finish="2024-02-15", Group="二组"), dict(Task="任务3", Start="2024-05-10", Finish="2024-07-05", Group="一组") ]) # 绘制基础甘特图 fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", color="Group") # X轴标签自定义配置 fig.update_xaxes( dtick="M1", tickformat="%b", ticklabelmode="period" ) fig.show()
若需要区分跨年的相同月份,不需要修改全局格式,单独通过
tickvals和ticktext参数指定对应刻度的自定义文本即可。
内容的提问来源于stack exchange,提问作者mapping dom
相关产品推荐
相关产品推荐

