python的matplotlib.pyplot绘制甘特图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python的matplotlib.pyplot绘制甘特图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2197字,纯文字阅读大概需要4分钟。
内容图文
博主本来就想简单地找一下代码,画一幅甘特图,结果百度之后发现甘特图的代码基本都不是用matplotlib库,但是像柱状图等统计图通常都是用这个库进行绘制的,所以博主就花了一些时间,自己敲了一份代码,简单地绘制了一份博主想要的甘特图,下边博主就来介绍分享一下。
何为甘特图?
甘特图(Gantt chart)又称为横道图、条状图(Bar chart)。其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况。以提出者亨利·劳伦斯·甘特(Henry Laurence Gantt)先生的名字命名。
def getGant(): timelist = [[‘2020-6-8‘,‘2020-6-14‘],[‘2020-6-15‘,‘2020-6-21‘],[‘2020-6-22‘,‘2020-7-4‘],[‘2020-7-5‘,‘2020-7-10‘],[‘2020-7-11‘,‘2020-7-17‘]] states=[‘环境配置‘,‘设计阶段‘,‘研发阶段‘,‘测试阶段‘,‘成果验收‘] xlabels=[‘2020-6-8‘,‘2020-6-15‘,‘2020-6-21‘,‘2020-7-5‘,‘2020-7-11‘,‘2020-7-17‘] ylabels=[‘第一阶段‘,‘第二阶段‘,‘第三阶段‘,‘第四阶段‘,‘第五阶段‘] xtimes=[0] ystates=[0] location=0 plt.figure() plt.figure(num=3, figsize=(9, 2)) # figsize的设置长和宽for i in range(len(timelist)): Start=timelist[i][0] Finish=timelist[i][1] startTime = datetime.datetime.strptime(Start, "%Y-%m-%d") finishTime = datetime.datetime.strptime(Finish, "%Y-%m-%d") day = (finishTime-startTime).days # plt.bar(40,10,label=xlabels[i],color=‘g‘) plt.axhline(y=i+0.5, color=‘k‘, linestyle=‘-‘,alpha= 0.5,linewidth=0.8) plt.barh(i,day,0.5,location,alpha=(5+i)/10,color = ‘g‘, align="center") #y值,宽度,高度,起始x plt.text(location+1,i+0.52,states[i], size = 10, alpha = 1) # plt.barh(y,width,1,location,facecolor=‘tan‘,edgecolor=‘r‘,alpha=0.6,tick_label=label,hatch=".") plt.xlabel(u"时间") plt.ylabel(u"软件工程阶段") location+=day xtimes.append(location) ystates.append(i+1) # plt.legend()#若必要可显示图例 plt.xticks(xtimes, xlabels, rotation=‘horizontal‘) plt.yticks(ystates, ylabels, rotation=‘horizontal‘) plt.title(u‘甘特图‘) # plt.grid(True) plt.savefig(‘甘特图.png‘, dpi=300, format=‘png‘,bbox_inches="tight") #bbox_inches="tight"解决X轴时间两个字不被保存的问题 plt.show()#若将show函数放在savefig之前,则容易造成保存的图片为空白,因为show函数数重新定义一个画板
在代码编写过程中还是遇到了不少的问题的,比如中文编码问题、图片保存不全问题等。
大家可以关注微信公众号,后台回复甘特图,获取源码。
扫码关注公众号
原文:https://www.cnblogs.com/pygisxss/p/13339413.html
内容总结
以上是互联网集市为您收集整理的python的matplotlib.pyplot绘制甘特图全部内容,希望文章能够帮你解决python的matplotlib.pyplot绘制甘特图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。