使用Python绘制甘特图

使用Python绘制甘特图

  • 甘特图
  • 效果
  • 代码

甘特图

甘特图是一种项目管理工具,用于展示项目进度和任务安排。它通过条状图形表示各任务的起止时间,便于直观地查看项目的各个任务的进度和相互关系。

效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dAs7ifp4-1720143854496)(https://i-blog.csdnimg.cn/direct/b98e07ed3f0b49c998dfd1f86a2ab130.png)]

代码

import matplotlib.pyplot as plt
import pandas as pd
import matplotlib.dates as mdates

# 创建示例任务数据
data = {
    'Task': ['Task 1', 'Task 2', 'Task 3', 'Task 4'],
    'Start': ['2023-07-01', '2023-07-05', '2023-07-10', '2023-07-15'],
    'End': ['2023-07-10', '2023-07-15', '2023-07-20', '2023-07-25']
}

# 转换为DataFrame
df = pd.DataFrame(data)
df['Start'] = pd.to_datetime(df['Start'])
df['End'] = pd.to_datetime(df['End'])

# 绘制甘特图
fig, ax = plt.subplots(figsize=(10, 5))

# 将任务按结束时间排序,确保绘图时任务从上到下排列
df = df.sort_values(by='End')

# 绘制每个任务的条形
for i, task in enumerate(df.itertuples()):
    ax.barh(task.Task, (task.End - task.Start).days, left=task.Start)

# 设置x轴的日期格式
ax.xaxis.set_major_locator(mdates.DayLocator(interval=2))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))

# 设置图表标题和标签
plt.title('Gantt Chart')
plt.xlabel('Date')
plt.ylabel('Task')

# 自动旋转日期标签
plt.xticks(rotation=45)

plt.tight_layout()
plt.show()

相关推荐

  1. 使用Python绘制

    2024-07-10 19:30:02       29 阅读
  2. Vue gantt 安装使用

    2024-07-10 19:30:02       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 19:30:02       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 19:30:02       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 19:30:02       90 阅读
  4. Python语言-面向对象

    2024-07-10 19:30:02       98 阅读

热门阅读

  1. uboot spi nor flash初始化相关的阅读分析(一)

    2024-07-10 19:30:02       26 阅读
  2. 最小生成树(算法篇)

    2024-07-10 19:30:02       27 阅读
  3. K8S集群应用国产信创适配实战经验总结

    2024-07-10 19:30:02       24 阅读
  4. 方程与不等式

    2024-07-10 19:30:02       27 阅读
  5. 力扣1472.设计浏览器历史记录

    2024-07-10 19:30:02       26 阅读
  6. ArcGIS Pro SDK (八)地理数据库 3 数据

    2024-07-10 19:30:02       25 阅读
  7. C语言 找出一个二维数组中的鞍点

    2024-07-10 19:30:02       26 阅读
  8. [目标检测]labelme标注数据转yoloV8需要的.txt格式

    2024-07-10 19:30:02       27 阅读
  9. ES6 之 Promise 构造函数知识点总结 (四)

    2024-07-10 19:30:02       29 阅读
  10. 软件工程需求之:业务需求与用户需求

    2024-07-10 19:30:02       21 阅读