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

Plotly甘特图X轴日期缺失且显示截断,求技术解决

解决Plotly甘特图X轴日期缺失与截断问题

问题原因

Plotly默认会根据图表尺寸和日期范围自动选择X轴刻度间隔,导致仅显示季度刻度;同时若数据结束日期不在默认刻度点上,就会出现末尾截断的情况。

解决方案

通过手动配置X轴刻度规则和范围修复,步骤如下:

  1. 修正原代码语法错误
    原代码中colors参数括号未正确闭合,width和height参数位置错误,先修正语法问题。

  2. 强制设置X轴月度刻度
    使用update_xaxes()方法指定每月一个刻度,并设置显示格式,同时扩展X轴范围避免截断。

完整修正代码

import plotly.figure_factory as ff
import pandas as pd

# 确保数据中的日期列是datetime类型(若未转换需执行此步骤)
gantt['start'] = pd.to_datetime(gantt['start'])
gantt['end'] = pd.to_datetime(gantt['end'])

# 修正语法错误,生成甘特图
fig = ff.create_gantt(gantt, colors=['rgb(170, 14, 200)'], width=742, height=580)

# 配置X轴:每月刻度、显示格式、扩展范围避免截断
fig.update_xaxes(
    dtick='M1',  # 强制每月生成一个刻度
    tickformat='%b %Y',  # 刻度显示格式为「月份缩写 年份」
    # 扩展X轴范围,在数据首尾各加7天,避免边缘日期被截断
    range=[gantt['start'].min() - pd.Timedelta(days=7), gantt['end'].max() + pd.Timedelta(days=7)]
)

fig.show()

可选调整

如果日期范围过长导致月度刻度过于拥挤,可将dtick改为M2(每两个月)或M3(每三个月),按需调整即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 11:26:11