当前位置:   article > 正文

py实战项目进度甘特图绘制_python 甘特图 多个进度

python 甘特图 多个进度

大家好,我是执念斩长河,一个最近学习python绘图的学渣。今天有幸阅读《python数据可视化》(黑马程序员编著),其中的”某新项目8个任务及给任务周期的甘特图“被我python成功实现,特此写博文纪念一下。

1. 题目再现

已知某公司准备开辟一个信息昂木,为确保项目的可行性,项目表为:

某新项目各子项目分配时间表

项目名称时长分配
报告提交0.5
数据分析1.5
数据录入1
实地执行3
问卷确定0.5
试放1
问卷设计1
项目确定2

2.最终效果

在这里插入图片描述

2.问题分解

让我们画一个甘特图,类似于上面这种,如果自己脑补一下,那就是个水平柱形图被隐藏了一块,查阅资料用barh()函数,向函数中left进行传值即可。

ax.barh(y_data,x_data,tick_label=ticks,left=[7.5,6,5.5,3,3,2,1.5,0],color='#CD5C5C')
  • 1

3.完整代码

    import numpy as np
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif'] = 'SimHei'
    plt.rcParams['axes.unicode_minus'] = False
    ticks = np.array(['报告提交','数据分析','数据录入','实地执行','问卷确定',
                      '试访','问卷设计','项目确定'])
    y_data = np.arange(1,9)
    x_data = np.array([0.5,1.5,1,3,0.5,1,1,2])
    fig,ax = plt.subplots(1,1)

    ax.barh(y_data,x_data,tick_label=ticks,left=[7.5,6,5.5,3,3,2,1.5,0],color='#CD5C5C')
    [ax.spines[i].set_visible(False) for i in ['top','right']]
    ax.set_title('任务甘特图')
    ax.set_xlabel('日期')
    ax.grid(alpha=0.5,axis='x')
    plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

4.后记&总结

曲不离口,拳不离手,一天不学很难受!

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号