python实现甘特图
时间: 2023-10-10 17:08:28 浏览: 110
Python 可以使用 Matplotlib 库来绘制甘特图。以下是一个简单的例子:
```python
import matplotlib.pyplot as plt
import datetime
# 数据准备
tasks = ['Task A', 'Task B', 'Task C', 'Task D']
start_dates = [datetime.datetime(2021, 6, 1), datetime.datetime(2021, 6, 3), datetime.datetime(2021, 6, 7), datetime.datetime(2021, 6, 10)]
end_dates = [datetime.datetime(2021, 6, 5), datetime.datetime(2021, 6, 8), datetime.datetime(2021, 6, 11), datetime.datetime(2021, 6, 15)]
# 计算时间间隔
durations = [end_dates[i] - start_dates[i] for i in range(len(tasks))]
# 创建甘特图
fig, ax = plt.subplots(figsize=(10, 5))
# 设置 Y 轴的刻度和标签
ax.set_yticks([1])
ax.set_yticklabels([''])
# 设置 X 轴的范围
ax.set_xlim([min(start_dates) - datetime.timedelta(days=1), max(end_dates) + datetime.timedelta(days=1)])
# 绘制甘特图
for i in range(len(tasks)):
ax.broken_barh([(start_dates[i], durations[i].days)], (1, 1), facecolors=('tab:blue'))
# 设置标题和 X 轴标签
ax.set_title('Gantt Chart')
ax.set_xlabel('Dates')
# 显示图形
plt.show()
```
运行以上代码,可以得到一个简单的甘特图,如下所示:
![Gantt Chart](https://i.imgur.com/fF6IN5H.png)
在这个例子中,我们使用了 Matplotlib 库来创建一个简单的甘特图。我们首先准备了任务名称、开始日期和结束日期的列表。然后,我们计算了每个任务的持续时间,并使用 `broken_barh()` 函数来在图表中绘制甘特图。最后,我们设置了图表标题和 X 轴标签,并显示了图形。
当然,完整的甘特图需要更多的元素,例如任务的进度、颜色等。但这个例子可以作为一个起点,让你开始使用 Python 来绘制甘特图。
阅读全文