微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python甘特图案例

Python是一种流行的编程语言,特别适合数据科学和可视化。甘特图是一种流行的项目管理工具,它能够以时间轴的方式展示任务项目和进度。在Python中,我们可以使用不同的库来绘制甘特图。

# 导入需要的库
import pandas as pd
import matplotlib.pyplot as plt
import datetime as dt

# 定义数据
df = pd.DataFrame({
   'Task': ['Task A','Task B','Task C','Task D'],'Start': ['2021-01-01','2021-01-05','2021-01-03','2021-01-06'],'Finish': ['2021-01-15','2021-01-25','2021-01-18','2021-01-30']
})

# 转换时间格式
df['Start'] = pd.to_datetime(df['Start'],format='%Y-%m-%d')
df['Finish'] = pd.to_datetime(df['Finish'],format='%Y-%m-%d')

# 计算时间差
df['Duration'] = df['Finish'] - df['Start']

# 创建甘特图
fig,ax = plt.subplots(figsize=(8,3))
for i,task in enumerate(df['Task']):
   ax.barh(task,width=df['Duration'].iloc[i].days,left=df['Start'].iloc[i],height=0.4,color='blue')
   
# 设置图像属性
ax.grid(True)
ax.set_xlabel('Time')
ax.set_ylabel('Tasks')
ax.set_xlim([df['Start'].min() - pd.offsets.Day(1),df['Finish'].max() + pd.offsets.Day(1)])
ax.invert_yaxis()

# 显示甘特图
plt.show()

python甘特图案例

这段代码演示了如何使用Python和Pandas库来创建甘特图。首先,我们创建了一个数据框来定义任务、任务开始时间和任务完成时间,然后将这些日期转换为日期时间格式,并计算出任务的时长。接下来,我们使用Matplotlib库来创建水平条形图,其中每个任务的宽度对应于该任务的持续时间,左侧则对应任务的开始日期。最后,我们对图表进行了一些修改,如添加网格线、标签和反转Y轴坐标轴。

这个简单的Python甘特图示例具有很大的变化空间,可以根据数据集来定制不同的样式和属性以符合您的实际需求。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐