python如何绘制甘特图,Python绘制甘特图的方法
原创Python绘制甘特图的技巧
在项目管理中,甘特图是一种常用的工具,用于可视化项目的进度和关键任务,在Python中,我们可以使用多种库来绘制甘特图,例如matplotlib
和pandas
等。
我们需要安装必要的库,可以使用pip来安装matplotlib
和pandas
库,在命令行中输入以下命令进行安装:
pip install matplotlib pandas
我们可以使用pandas
库来创建任务列表和进度数据,我们可以创建一个DataFrame,包含任务名称、开始日期、结束日期和完成进度等信息。
import pandas as pd 创建任务列表和进度数据 df = pd.DataFrame({ '任务名称': ['任务1', '任务2', '任务3'], '开始日期': ['2023-05-01', '2023-05-02', '2023-05-03'], '结束日期': ['2023-05-05', '2023-05-04', '2023-05-05'], '完成进度': [0.5, 0.7, 0.8] })
我们可以使用matplotlib
库来绘制甘特图,我们可以设置图表的标题、图例和坐标轴标签等。
import matplotlib.pyplot as plt import matplotlib.dates as mdates from pandas import to_datetime 将日期列转换为datetime类型 df['开始日期'] = pd.to_datetime(df['开始日期']) df['结束日期'] = pd.to_datetime(df['结束日期']) 设置图表的标题和坐标轴标签 plt.figure(figsize=(10, 6)) plt.title('项目甘特图') plt.xlabel('日期') plt.ylabel('完成进度') plt.gcf().autofmt_xdate() # 自动旋转日期标记 plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) # 设置日期格式 绘制甘特图 for index, row in df.iterrows(): plt.plot([row['开始日期'], row['结束日期']], [index, index], marker='o') plt.text(row['开始日期'], index, row['任务名称'], ha='center') plt.fill_between([row['开始日期'], row['结束日期']], index, index+0.2, color='lightblue')