Plotly甘特图X轴日期缺失且显示截断,求技术解决
解决Plotly甘特图X轴日期缺失与截断问题
问题原因
Plotly默认会根据图表尺寸和日期范围自动选择X轴刻度间隔,导致仅显示季度刻度;同时若数据结束日期不在默认刻度点上,就会出现末尾截断的情况。
解决方案
通过手动配置X轴刻度规则和范围修复,步骤如下:
修正原代码语法错误
原代码中colors参数括号未正确闭合,width和height参数位置错误,先修正语法问题。强制设置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
相关产品推荐
相关产品推荐

