用途:当用户需要可视化项目排期、时间线、甘特图或按时间展开的阶段/任务分解时,调用该技能生成水平甘特图。
主要能力:gantt() 函数接受 pandas DataFrame 或 .csv/.tsv/.json 文件路径,配合列名参数,最终保存 PNG 并返回路径。工具包负责主题、日期解析、条形配色、完成度覆盖、今日线、图例与保存。
数据要求:一行代表一个任务/阶段。必需列包括阶段/任务名称列、开始日期列,以及结束日期列或持续天数列二者之一。缺少 phase 或 start 的行会在绘制前被静默丢弃。
用法:先导入并调用: import sys sys.path.insert(0, "scripts") from gantt import gantt
gantt("schedule.csv", phase="Phase", start="Start", end="End", title="Project Schedule", out="gantt.png")
支持分组配色与今日线: gantt(df, phase="phase", start="planned_start", end="planned_end", group="project", today=True, out="schedule.png")
可用 duration 代替结束日期: gantt(df, phase="task", start="start_date", duration="days", out="schedule.png")
完成度百分比叠加: gantt(df, phase="Phase", start="Start", end="End", completion="PctDone", out="gantt.png")
参数与 CLI 示例见 references/cheatsheet.md。
默认行为:使用色盲友好调色板;日期轴自动缩放(≤90 天按周刻度,≤365 天按月,更长按双月);条形自上而下匹配输入行顺序;默认输出 150 DPI 的 PNG。end 与 duration 只能提供一个,若同时提供则 end 优先。
限制:仅按上述资料生成图表,未提供其他平台、收费或效果信息。