赞
踩
大家好,我是执念斩长河,一个最近学习python绘图的学渣。今天有幸阅读《python数据可视化》(黑马程序员编著),其中的”某新项目8个任务及给任务周期的甘特图“被我python成功实现,特此写博文纪念一下。
已知某公司准备开辟一个信息昂木,为确保项目的可行性,项目表为:
某新项目各子项目分配时间表
| 项目名称 | 时长分配 |
|---|---|
| 报告提交 | 0.5 |
| 数据分析 | 1.5 |
| 数据录入 | 1 |
| 实地执行 | 3 |
| 问卷确定 | 0.5 |
| 试放 | 1 |
| 问卷设计 | 1 |
| 项目确定 | 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')
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()
曲不离口,拳不离手,一天不学很难受!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。