gantt-chart-creator by dkyazzentwatwa/chatgpt-skills
npx skills add https://github.com/dkyazzentwatwa/chatgpt-skills --skill gantt-chart-creator创建专业的项目时间线甘特图,包含任务依赖关系、里程碑、进度跟踪和可自定义的样式。非常适合项目管理、冲刺计划和时间线可视化。
from scripts.gantt_creator import GanttChartCreator
# 简单任务列表
gantt = GanttChartCreator()
gantt.add_task("Research", "2024-01-01", "2024-01-07")
gantt.add_task("Design", "2024-01-08", "2024-01-14")
gantt.add_task("Development", "2024-01-15", "2024-01-28")
gantt.add_task("Testing", "2024-01-29", "2024-02-04")
gantt.generate().save("project.png")
# 从 CSV 导入,包含进度
gantt = GanttChartCreator()
gantt.from_csv("tasks.csv", task="name", start="start_date", end="end_date", progress="pct")
gantt.title("Q1 Roadmap").show_today().generate().save("roadmap.png")
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
gantt = GanttChartCreator()
# 从 CSV 文件
gantt.from_csv(
filepath="tasks.csv",
task="task_name", # 任务名称列
start="start_date", # 开始日期列
end="end_date", # 结束日期列
progress="completion", # 可选:进度百分比列
category="category", # 可选:用于颜色编码
assignee="owner" # 可选:用于颜色编码
)
# 从任务字典列表
gantt.from_tasks([
{'name': 'Task 1', 'start': '2024-01-01', 'end': '2024-01-07'},
{'name': 'Task 2', 'start': '2024-01-08', 'end': '2024-01-14', 'progress': 50},
{'name': 'Task 3', 'start': '2024-01-15', 'end': '2024-01-21', 'category': 'Dev'}
])
# 添加单个任务
gantt.add_task(
name="Research Phase",
start="2024-01-01",
end="2024-01-14",
progress=100, # 可选:0-100%
category="Planning", # 可选:用于着色
assignee="Alice" # 可选:用于着色
)
# 添加里程碑
gantt.add_milestone("Project Kickoff", "2024-01-01")
gantt.add_milestone("Beta Release", "2024-02-15", color="#e74c3c")
# 添加任务依赖关系(默认为完成到开始)
gantt.add_dependency("Design", "Development") # 开发在设计之后开始
gantt.add_dependency("Development", "Testing")
# 依赖类型
gantt.add_dependency("Task A", "Task B", type="FS") # 完成到开始(默认)
gantt.add_dependency("Task A", "Task B", type="SS") # 开始到开始
gantt.add_dependency("Task A", "Task B", type="FF") # 完成到完成
gantt.add_dependency("Task A", "Task B", type="SF") # 开始到完成
# 标题
gantt.title("Project Timeline")
gantt.title("Q1 2024 Roadmap", font_size=16)
# 按类别着色
gantt.color_by("category")
gantt.color_by("category", colors={
'Planning': '#3498db',
'Development': '#2ecc71',
'Testing': '#e74c3c'
})
# 按负责人着色
gantt.color_by("assignee")
# 显示进度条
gantt.show_progress(True)
# 显示今日标记
gantt.show_today(True)
gantt.show_today(True, color='red', label='Today')
# 日期范围(默认自动计算)
gantt.date_range("2024-01-01", "2024-03-31")
# 网格线
gantt.grid(show=True, style='weekly') # daily, weekly, monthly
# 生成静态图表(matplotlib)
gantt.generate()
# 生成交互式图表(plotly)
gantt.generate(interactive=True)
# 保存静态图像
gantt.save("chart.png")
gantt.save("chart.svg")
gantt.save("chart.pdf")
# 保存交互式 HTML
gantt.save("chart.html")
# 获取图形对象以进行自定义
fig = gantt.get_figure()
# 在窗口/笔记本中显示
gantt.show()
task,start_date,end_date,progress,category,assignee
Research,2024-01-01,2024-01-07,100,Planning,Alice
Design,2024-01-08,2024-01-14,100,Planning,Bob
Backend Dev,2024-01-15,2024-01-28,75,Development,Alice
Frontend Dev,2024-01-15,2024-01-21,50,Development,Carol
Testing,2024-01-29,2024-02-04,0,QA,Dave
tasks = [
{
'name': 'Research',
'start': '2024-01-01',
'end': '2024-01-07',
'progress': 100,
'category': 'Planning',
'assignee': 'Alice'
},
{
'name': 'Design',
'start': '2024-01-08',
'end': '2024-01-14',
'progress': 75,
'category': 'Planning'
}
]
支持的日期格式(自动检测):
YYYY-MM-DD(ISO 格式,推荐)MM/DD/YYYYDD/MM/YYYYYYYY/MM/DD# 基本用法
python gantt_creator.py --input tasks.csv \
--task name --start start_date --end end_date \
--output gantt.png
# 包含进度和类别
python gantt_creator.py --input project.csv \
--task task --start begin --end finish \
--progress pct --category type \
--title "Project Timeline" \
--output timeline.png
# 交互式 HTML
python gantt_creator.py --input tasks.csv \
--task name --start start --end end \
--interactive \
--output gantt.html
# 包含今日标记
python gantt_creator.py --input tasks.csv \
--task name --start start --end end \
--show-today \
--output current_status.png
| 参数 | 描述 | 默认值 |
|---|---|---|
--input | 输入 CSV 文件 | 必需 |
--task | 任务名称列 | 必需 |
--start | 开始日期列 | 必需 |
--end | 结束日期列 | 必需 |
--progress | 进度百分比列 | - |
--category | 类别列(用于着色) | - |
--assignee | 负责人列(用于着色) | - |
--output | 输出文件路径 | gantt.png |
--title | 图表标题 | - |
--interactive | 生成交互式 HTML | False |
--show-today | 显示今日标记 | False |
--show-progress | 显示进度条 | False |
--width | 图表宽度 | 12 |
--height | 图表高度 | 6 |
gantt = GanttChartCreator()
gantt.add_task("Planning", "2024-01-01", "2024-01-14")
gantt.add_task("Development", "2024-01-15", "2024-02-15")
gantt.add_task("Testing", "2024-02-16", "2024-02-28")
gantt.add_task("Deployment", "2024-03-01", "2024-03-07")
gantt.title("Project Alpha")
gantt.generate().save("project_alpha.png")
gantt = GanttChartCreator()
# 添加任务
gantt.add_task("Requirements", "2024-01-01", "2024-01-07")
gantt.add_task("Design", "2024-01-08", "2024-01-14")
gantt.add_task("Backend", "2024-01-15", "2024-01-28")
gantt.add_task("Frontend", "2024-01-15", "2024-01-21")
gantt.add_task("Integration", "2024-01-29", "2024-02-04")
gantt.add_task("Testing", "2024-02-05", "2024-02-11")
# 添加里程碑
gantt.add_milestone("Kickoff", "2024-01-01")
gantt.add_milestone("Code Freeze", "2024-02-04")
gantt.add_milestone("Launch", "2024-02-12")
# 添加依赖关系
gantt.add_dependency("Requirements", "Design")
gantt.add_dependency("Design", "Backend")
gantt.add_dependency("Design", "Frontend")
gantt.add_dependency("Backend", "Integration")
gantt.add_dependency("Frontend", "Integration")
gantt.add_dependency("Integration", "Testing")
gantt.title("Development Timeline")
gantt.generate().save("dev_timeline.png")
gantt = GanttChartCreator()
gantt.from_csv("tasks.csv", task="name", start="start", end="end", category="type")
gantt.color_by("category", colors={
'Backend': '#3498db',
'Frontend': '#2ecc71',
'DevOps': '#9b59b6',
'QA': '#e74c3c'
})
gantt.title("Sprint 5 Tasks")
gantt.show_today()
gantt.generate().save("sprint5.png")
gantt = GanttChartCreator()
gantt.add_task("Research", "2024-01-01", "2024-01-07", progress=100)
gantt.add_task("Design", "2024-01-08", "2024-01-14", progress=100)
gantt.add_task("Development", "2024-01-15", "2024-01-28", progress=60)
gantt.add_task("Testing", "2024-01-29", "2024-02-04", progress=0)
gantt.show_progress(True)
gantt.show_today(True)
gantt.title("Project Status")
gantt.generate().save("status.png")
gantt = GanttChartCreator()
gantt.from_csv("project.csv", task="task", start="start", end="end",
progress="pct", category="team")
gantt.color_by("team")
gantt.show_progress(True)
gantt.title("Interactive Project View")
gantt.generate(interactive=True)
gantt.save("project.html")
gantt = GanttChartCreator()
# Alice 的任务
gantt.add_task("Alice: Research", "2024-01-01", "2024-01-07", assignee="Alice")
gantt.add_task("Alice: Backend", "2024-01-08", "2024-01-21", assignee="Alice")
# Bob 的任务
gantt.add_task("Bob: Design", "2024-01-01", "2024-01-14", assignee="Bob")
gantt.add_task("Bob: Frontend", "2024-01-15", "2024-01-28", assignee="Bob")
# Carol 的任务
gantt.add_task("Carol: Testing", "2024-01-22", "2024-02-04", assignee="Carol")
gantt.color_by("assignee", colors={
'Alice': '#3498db',
'Bob': '#2ecc71',
'Carol': '#e74c3c'
})
gantt.title("Team Workload - January")
gantt.generate().save("team_workload.png")
matplotlib>=3.7.0
plotly>=5.15.0
pandas>=2.0.0
kaleido>=0.2.0
每周安装次数
67
仓库
GitHub 星标数
23
首次出现
2026 年 1 月 24 日
安全审计
安装于
gemini-cli55
opencode54
codex52
cursor50
github-copilot49
claude-code43
Create professional project timeline Gantt charts with task dependencies, milestones, progress tracking, and customizable styling. Perfect for project management, sprint planning, and timeline visualization.
from scripts.gantt_creator import GanttChartCreator
# Simple task list
gantt = GanttChartCreator()
gantt.add_task("Research", "2024-01-01", "2024-01-07")
gantt.add_task("Design", "2024-01-08", "2024-01-14")
gantt.add_task("Development", "2024-01-15", "2024-01-28")
gantt.add_task("Testing", "2024-01-29", "2024-02-04")
gantt.generate().save("project.png")
# From CSV with progress
gantt = GanttChartCreator()
gantt.from_csv("tasks.csv", task="name", start="start_date", end="end_date", progress="pct")
gantt.title("Q1 Roadmap").show_today().generate().save("roadmap.png")
gantt = GanttChartCreator()
# From CSV file
gantt.from_csv(
filepath="tasks.csv",
task="task_name", # Task name column
start="start_date", # Start date column
end="end_date", # End date column
progress="completion", # Optional: progress % column
category="category", # Optional: for color coding
assignee="owner" # Optional: for color coding
)
# From list of task dictionaries
gantt.from_tasks([
{'name': 'Task 1', 'start': '2024-01-01', 'end': '2024-01-07'},
{'name': 'Task 2', 'start': '2024-01-08', 'end': '2024-01-14', 'progress': 50},
{'name': 'Task 3', 'start': '2024-01-15', 'end': '2024-01-21', 'category': 'Dev'}
])
# Add individual tasks
gantt.add_task(
name="Research Phase",
start="2024-01-01",
end="2024-01-14",
progress=100, # Optional: 0-100%
category="Planning", # Optional: for coloring
assignee="Alice" # Optional: for coloring
)
# Add milestones
gantt.add_milestone("Project Kickoff", "2024-01-01")
gantt.add_milestone("Beta Release", "2024-02-15", color="#e74c3c")
# Add task dependencies (finish-to-start by default)
gantt.add_dependency("Design", "Development") # Development starts after Design
gantt.add_dependency("Development", "Testing")
# Dependency types
gantt.add_dependency("Task A", "Task B", type="FS") # Finish-to-Start (default)
gantt.add_dependency("Task A", "Task B", type="SS") # Start-to-Start
gantt.add_dependency("Task A", "Task B", type="FF") # Finish-to-Finish
gantt.add_dependency("Task A", "Task B", type="SF") # Start-to-Finish
# Title
gantt.title("Project Timeline")
gantt.title("Q1 2024 Roadmap", font_size=16)
# Color by category
gantt.color_by("category")
gantt.color_by("category", colors={
'Planning': '#3498db',
'Development': '#2ecc71',
'Testing': '#e74c3c'
})
# Color by assignee
gantt.color_by("assignee")
# Show progress bars
gantt.show_progress(True)
# Show today marker
gantt.show_today(True)
gantt.show_today(True, color='red', label='Today')
# Date range (auto-calculated by default)
gantt.date_range("2024-01-01", "2024-03-31")
# Grid lines
gantt.grid(show=True, style='weekly') # daily, weekly, monthly
# Generate static chart (matplotlib)
gantt.generate()
# Generate interactive chart (plotly)
gantt.generate(interactive=True)
# Save static image
gantt.save("chart.png")
gantt.save("chart.svg")
gantt.save("chart.pdf")
# Save interactive HTML
gantt.save("chart.html")
# Get figure object for customization
fig = gantt.get_figure()
# Show in window/notebook
gantt.show()
task,start_date,end_date,progress,category,assignee
Research,2024-01-01,2024-01-07,100,Planning,Alice
Design,2024-01-08,2024-01-14,100,Planning,Bob
Backend Dev,2024-01-15,2024-01-28,75,Development,Alice
Frontend Dev,2024-01-15,2024-01-21,50,Development,Carol
Testing,2024-01-29,2024-02-04,0,QA,Dave
tasks = [
{
'name': 'Research',
'start': '2024-01-01',
'end': '2024-01-07',
'progress': 100,
'category': 'Planning',
'assignee': 'Alice'
},
{
'name': 'Design',
'start': '2024-01-08',
'end': '2024-01-14',
'progress': 75,
'category': 'Planning'
}
]
Supported date formats (auto-detected):
YYYY-MM-DD (ISO format, recommended)MM/DD/YYYYDD/MM/YYYYYYYY/MM/DD# Basic usage
python gantt_creator.py --input tasks.csv \
--task name --start start_date --end end_date \
--output gantt.png
# With progress and categories
python gantt_creator.py --input project.csv \
--task task --start begin --end finish \
--progress pct --category type \
--title "Project Timeline" \
--output timeline.png
# Interactive HTML
python gantt_creator.py --input tasks.csv \
--task name --start start --end end \
--interactive \
--output gantt.html
# With today marker
python gantt_creator.py --input tasks.csv \
--task name --start start --end end \
--show-today \
--output current_status.png
| Argument | Description | Default |
|---|---|---|
--input | Input CSV file | Required |
--task | Task name column | Required |
--start | Start date column | Required |
--end | End date column | Required |
--progress | Progress % column | - |
gantt = GanttChartCreator()
gantt.add_task("Planning", "2024-01-01", "2024-01-14")
gantt.add_task("Development", "2024-01-15", "2024-02-15")
gantt.add_task("Testing", "2024-02-16", "2024-02-28")
gantt.add_task("Deployment", "2024-03-01", "2024-03-07")
gantt.title("Project Alpha")
gantt.generate().save("project_alpha.png")
gantt = GanttChartCreator()
# Add tasks
gantt.add_task("Requirements", "2024-01-01", "2024-01-07")
gantt.add_task("Design", "2024-01-08", "2024-01-14")
gantt.add_task("Backend", "2024-01-15", "2024-01-28")
gantt.add_task("Frontend", "2024-01-15", "2024-01-21")
gantt.add_task("Integration", "2024-01-29", "2024-02-04")
gantt.add_task("Testing", "2024-02-05", "2024-02-11")
# Add milestones
gantt.add_milestone("Kickoff", "2024-01-01")
gantt.add_milestone("Code Freeze", "2024-02-04")
gantt.add_milestone("Launch", "2024-02-12")
# Add dependencies
gantt.add_dependency("Requirements", "Design")
gantt.add_dependency("Design", "Backend")
gantt.add_dependency("Design", "Frontend")
gantt.add_dependency("Backend", "Integration")
gantt.add_dependency("Frontend", "Integration")
gantt.add_dependency("Integration", "Testing")
gantt.title("Development Timeline")
gantt.generate().save("dev_timeline.png")
gantt = GanttChartCreator()
gantt.from_csv("tasks.csv", task="name", start="start", end="end", category="type")
gantt.color_by("category", colors={
'Backend': '#3498db',
'Frontend': '#2ecc71',
'DevOps': '#9b59b6',
'QA': '#e74c3c'
})
gantt.title("Sprint 5 Tasks")
gantt.show_today()
gantt.generate().save("sprint5.png")
gantt = GanttChartCreator()
gantt.add_task("Research", "2024-01-01", "2024-01-07", progress=100)
gantt.add_task("Design", "2024-01-08", "2024-01-14", progress=100)
gantt.add_task("Development", "2024-01-15", "2024-01-28", progress=60)
gantt.add_task("Testing", "2024-01-29", "2024-02-04", progress=0)
gantt.show_progress(True)
gantt.show_today(True)
gantt.title("Project Status")
gantt.generate().save("status.png")
gantt = GanttChartCreator()
gantt.from_csv("project.csv", task="task", start="start", end="end",
progress="pct", category="team")
gantt.color_by("team")
gantt.show_progress(True)
gantt.title("Interactive Project View")
gantt.generate(interactive=True)
gantt.save("project.html")
gantt = GanttChartCreator()
# Alice's tasks
gantt.add_task("Alice: Research", "2024-01-01", "2024-01-07", assignee="Alice")
gantt.add_task("Alice: Backend", "2024-01-08", "2024-01-21", assignee="Alice")
# Bob's tasks
gantt.add_task("Bob: Design", "2024-01-01", "2024-01-14", assignee="Bob")
gantt.add_task("Bob: Frontend", "2024-01-15", "2024-01-28", assignee="Bob")
# Carol's tasks
gantt.add_task("Carol: Testing", "2024-01-22", "2024-02-04", assignee="Carol")
gantt.color_by("assignee", colors={
'Alice': '#3498db',
'Bob': '#2ecc71',
'Carol': '#e74c3c'
})
gantt.title("Team Workload - January")
gantt.generate().save("team_workload.png")
matplotlib>=3.7.0
plotly>=5.15.0
pandas>=2.0.0
kaleido>=0.2.0
Weekly Installs
67
Repository
GitHub Stars
23
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
gemini-cli55
opencode54
codex52
cursor50
github-copilot49
claude-code43
Lark Task CLI 任务管理工具 - 飞书任务创建、分配、更新与协作完整指南
37,000 周安装
Rocket.net API 集成指南:WordPress 托管平台 API 开发与站点管理
109 周安装
算法艺术生成器 - 使用p5.js创建可复现的生成艺术与创意编程代码
109 周安装
React与Next.js性能优化最佳实践:40+规则提升应用性能
109 周安装
Spline 3D 场景集成指南:React/Next.js/原生JS嵌入与性能优化
109 周安装
威胁建模工具 | STRIDE方法论 | 生成数据流图与威胁登记册 | 安全开发
111 周安装
Rust学习者工具 - 实时获取Rust语言特性和crate更新信息,高效学习Rust编程
109 周安装
--category | Category column (for coloring) | - |
--assignee | Assignee column (for coloring) | - |
--output | Output file path | gantt.png |
--title | Chart title | - |
--interactive | Generate interactive HTML | False |
--show-today | Show today marker | False |
--show-progress | Show progress bars | False |
--width | Chart width | 12 |
--height | Chart height | 6 |