用Python写一个甘特图的代码
时间: 2024-04-25 19:05:41 浏览: 8
很高兴为您提供帮助!下面是一个使用Python绘制甘特图的示例代码:
```python
import matplotlib.pyplot as plt
import datetime
# 任务名称
task_names = ['任务1', '任务2', '任务3', '任务4']
# 任务开始结束时间
task_start_dates = [datetime.datetime(2021, 9, 1, 8, 0), datetime.datetime(2021, 9, 10, 13, 0),
datetime.datetime(2021, 9, 20, 12, 0), datetime.datetime(2021, 9, 25, 16, 0)]
task_end_dates = [datetime.datetime(2021, 9, 4, 18, 0), datetime.datetime(2021, 9, 13, 8, 0),
datetime.datetime(2021, 9, 23, 16, 0), datetime.datetime(2021, 9, 27, 18, 0)]
# 设置甘特图的样式
fig, ax = plt.subplots()
plt.title("甘特图示例")
plt.xlabel("时间")
plt.ylabel("任务")
plt.grid(True)
# 绘制水平条形图
for i in range(len(task_names)):
start_date = task_start_dates[i]
end_date = task_end_dates[i]
duration = end_date - start_date
ax.broken_barh([(start_date, duration)], (i, 0.4), facecolors=("tab:blue"))
plt.yticks(range(len(task_names)), task_names)
# 显示图形
plt.show()
```
运行这段代码,您将看到一个简单的甘特图,显示了4个任务在时间轴上的开始和结束时间。
如果您想要更多的自定义和控制,可以参考Matplotlib的官方文档,或者查找其他的Python包和库,以满足您的特定需求。