详解Python使用Plotly绘图工具,绘制甘特图


Posted in Python onApril 02, 2019

今天来讲一下如何使用Python 的绘图工具Plotly来绘制甘特图的方法

甘特图大家应该了解熟悉,就是通过条形来显示项目的进度、时间安排等相关情况的。

我们今天来学习一下,如何使用ployly来绘制甘特图

绘制甘特图的函数为Plotly.figure_factoryz中create_gantt方法

通过参数事件Task,开始Start,结束Finish的时间的数据来绘制甘特图

import plotly as py
import plotly.figure_factory as ff
 
pyplt = py.offline.plot
 
df = [dict(Task = "项目1", Start = '2019-02-01', Finish = '2019-05-28'),
   dict(Task = "项目2", Start = '2019-03-05', Finish = '2019-04-15'),
   dict(Task = "项目3", Start = '2019-03-20', Finish = '2019-05-30')]
 
fig = ff.create_gantt(df)
pyplt(fig, filename='tmp/1.html')

详解Python使用Plotly绘图工具,绘制甘特图

运行上诉代码,我们可以看到纵坐标为我们的的项目数量。横坐标时间不短增加,越接近纵坐标的,说明事件发生的情况越早。

还可以在甘特图中加入数字索引值

代码如下:

import plotly as py
import plotly.figure_factory as ff
 
pyplt = py.offline.plot
df = [dict(Task="项目1", Start='2019-01-01', Finish='2019-02-28', Complete=10),
   dict(Task="项目2", Start='2018-12-05', Finish='2019-04-15', Complete=10),
   dict(Task="项目3", Start='2019-02-20', Finish='2019-05-30', Complete=50),
   dict(Task="项目4", Start='2019-03-20', Finish='2019-06-30', Complete=50),
   dict(Task="项目5", Start='2019-01-12', Finish='2019-04-28', Complete=100),
   dict(Task="项目6", Start='2019-03-07', Finish='2019-08-21', Complete=100)]
 
fig = ff.create_gantt(df, index_col='Complete', show_colorbar=True)
pyplt(fig, filename='tmp/1.html')

 详解Python使用Plotly绘图工具,绘制甘特图

运行上诉代码,可以看到右边出现了索引条,每项工作后的complete属性即为其对应的索引值,在create_gamtt函数中

设置,index_col = ‘Complete',则会出现相同条形对应相同颜色的,可以根据颜色来盘点任务大概对应的索引值是多少。

这个值得范围0-100,用来反映工作完成的进度,100表示全部完成,0表示没有进展。

接下来讲解如何按照类别来进行索引

import plotly as py
import plotly.figure_factory as ff
pyplt = py.offline.plot
 
df = [dict(Task="项目1", Start='2019-01-01', Finish='2019-02-02', Resource='Complete'),
   dict(Task="项目2", Start='2019-02-15', Finish='2019-03-15', Resource='Incomplete'),
   dict(Task="项目3", Start='2019-01-17', Finish='2019-02-17', Resource='Not Started'),
   dict(Task="项目4", Start='2019-01-17', Finish='2019-02-17', Resource='Complete'),
   dict(Task="项目5", Start='2019-03-10', Finish='2019-03-20', Resource='Not Started'),
   dict(Task="项目6", Start='2019-04-01', Finish='2019-04-20', Resource='Not Started'),
   dict(Task="项目7", Start='2019-05-18', Finish='2019-06-18', Resource='Not Started'),
   dict(Task="项目8", Start='2019-01-14', Finish='2019-03-14', Resource='Complete')]
 
colors = {'Not Started': 'rgb(220, 0, 0)',
     'Incomplete': (1, 0.9, 0.16),
     'Complete': 'rgb(0, 255, 100)'}
 
fig = ff.create_gantt(df, colors=colors, index_col='Resource', group_tasks=True)
pyplt(fig, filename='tmp/1.html')
运行上诉代码,得到如下图所示内容

运行上诉代码,得到如下图所示内容

详解Python使用Plotly绘图工具,绘制甘特图

这里我们通过按照不同的颜色,来分别项目的类型。同一颜色,为同一项目。在每一项数据中

Resource代表此项工作所属的状态。这里分了三种状态。
通过在设置create_gantt函数中的index_col = 'Resource'即可完成。

color属性用于设置不同状态对应的颜色。

以上所述是小编给大家介绍的Python使用Plotly绘图工具,绘制甘特图详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python内存管理分析
Apr 08 Python
利用Python的装饰器解决Bottle框架中用户验证问题
Apr 24 Python
Python中的sort()方法使用基础教程
Jan 08 Python
python实现贪吃蛇游戏
Mar 21 Python
python pygame实现方向键控制小球
May 17 Python
Python socket聊天脚本代码实例
Jan 02 Python
TensorFlow tf.nn.max_pool实现池化操作方式
Jan 04 Python
python中图像通道分离与合并实例
Jan 17 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
Apr 22 Python
pytorch学习教程之自定义数据集
Nov 10 Python
用Python简陋模拟n阶魔方
Apr 17 Python
python基于opencv批量生成验证码的示例
Apr 28 Python
python查询文件夹下excel的sheet名代码实例
Apr 02 #Python
python3.6下Numpy库下载与安装图文教程
Apr 02 #Python
python使用Plotly绘图工具绘制气泡图
Apr 01 #Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
Apr 01 #Python
利用Python+阿里云实现DDNS动态域名解析的方法
Apr 01 #Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 #Python
python使用Plotly绘图工具绘制柱状图
Apr 01 #Python
You might like
PHP字符串处理的10个简单方法
2010/06/30 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
python函数返回多个值的示例方法
2013/12/04 Python
Python中为什么要用self探讨
2015/04/14 Python
python实现将元祖转换成数组的方法
2015/05/04 Python
numpy中的高维数组转置实例
2018/04/17 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
Python的垃圾回收机制详解
2019/08/28 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
解决Python安装cryptography报错问题
2020/09/03 Python
Django自带的用户验证系统实现
2020/12/18 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
专科毕业生就业推荐信
2013/11/01 职场文书
思想品德自我评价
2014/02/04 职场文书
统招统分证明
2015/06/23 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
如何撰写促销方案?
2019/07/05 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
vscode中使用npm安装babel的方法
2021/08/02 Javascript