AI搜索

发需求

  • 发布软件需求
  • 发布代理需求

可视化甘特图自动生成进度条

   2025-04-25 13
导读

生成可视化甘特图和进度条是项目管理中常见的需求。下面我将介绍如何利用Python的matplotlib库来自动生成甘特图,并使用自定义函数来在甘特图上添加进度条。

生成可视化甘特图和进度条是项目管理中常见的需求。下面我将介绍如何利用Python的matplotlib库来自动生成甘特图,并使用自定义函数来在甘特图上添加进度条。

首先,我们需要安装必要的库:

```bash

pip install matplotlib

pip install pandas

```

接下来,我们编写一个Python脚本来生成甘特图,并在其中添加进度条。

```python

import matplotlib.pyplot as plt

import pandas as pd

from datetime import datetime, timedelta

# 定义任务列表

tasks = [

{"name": "Task1", "duration": 10},

{"name": "Task2", "duration": 15},

{"name": "Task3", "duration": 20},

{"name": "Task4", "duration": 30}

]

# 定义开始和结束日期

start_date = datetime(2022, 1, 1)

end_date = datetime(2022, 1, 31)

# 创建数据框

df = pd.DataFrame(tasks, columns=["Name", "Duration"])

# 计算每个任务的持续时间

for i in range(len(tasks)):

    df.at[i, "Duration"] = (end_date
  • start_date).days / tasks[i]["duration"]

可视化甘特图自动生成进度条

# 设置甘特图样式

plt.style.use('ggplot')

plt.xlabel("Days")

plt.ylabel("Task")

plt.title("Gantt Chart of Tasks")

plt.grid()

# 绘制甘特图

plt.bar(df.index, df["Duration"], color='skyblue', alpha=0.7)

# 添加进度条

def add_progress_bar(bar, days, duration):

height = bar.get_height() + 0.5 * duration

plt.barh([0], height, color='darkgray', alpha=0.5)

for i, value in enumerate(days):

plt.text(value, height, f'{days[i]:.0f}%', ha='center', va='bottom')

plt.gca().set_aspect('equal', adjustable='box')

plt.show()

for i in range(len(df)):

add_progress_bar(df.iloc[i]["Bar"].get_height(), df.iloc[i]["Duration"], df.iloc[i]["Duration"])

# 显示结果

plt.show()

```

这个脚本首先定义了一个任务列表和一个开始和结束日期。然后,它使用pandas库创建一个数据框,将任务按名称和持续时间分组。接着,它计算每个任务的持续时间,并将其添加到数据框中。

接下来,我们设置甘特图的样式,并绘制甘特图。最后,我们为每个任务添加进度条,使其显示任务的完成百分比。

运行此脚本后,您将看到一个简单的甘特图,其中包含进度条。您可以根据需要调整样式和参数。

 
举报收藏 0
免责声明
• 
本文内容部分来源于网络,版权归原作者所有,经本平台整理和编辑,仅供交流、学习和参考,不做商用。转载请联系授权,并注明原文出处:https://www.itangsoft.com/baike/show-864937.html。 如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除。涉及到版权或其他问题,请及时联系我们处理。
 
 
更多>热门产品
 
 
更多>同类知识

入驻

企业入驻成功 可尊享多重特权

入驻热线:177-1642-7519

企业微信客服

客服

客服热线:177-1642-7519

小程序

小程序更便捷的查找产品

为您提供专业帮买咨询服务

请用微信扫码

公众号

微信公众号,收获商机

微信扫码关注

顶部