详解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 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 Python
python调用新浪微博API项目实践
Jul 28 Python
Python实现的ini文件操作类分享
Nov 20 Python
Python标准异常和异常处理详解
Feb 02 Python
Python命令启动Web服务器实例详解
Feb 23 Python
python实现媒体播放器功能
Feb 11 Python
浅谈python配置与使用OpenCV踩的一些坑
Apr 02 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
Nov 06 Python
对pandas写入读取h5文件的方法详解
Dec 28 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
Feb 07 Python
Python实现数字的格式化输出
Aug 01 Python
Python中的datetime包与time包包和模块详情
Feb 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的加密方式及原理
2012/06/14 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
2013/06/24 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
PHP写的简单数字验证码实例
2017/05/23 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
2016/08/19 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
解析Python中的异常处理
2015/04/28 Python
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
利用python代码写的12306订票代码
2015/12/20 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
Python命名空间及作用域原理实例解析
2020/08/12 Python
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
技术学校毕业生求职信分享
2013/12/02 职场文书
建筑工程管理专业自荐信范文
2013/12/28 职场文书
4s店总经理岗位职责
2013/12/31 职场文书
高中生学期学习自我评价
2014/02/24 职场文书
服务行业演讲稿
2014/09/02 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
2014年评职称工作总结
2014/11/20 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
初三毕业评语
2014/12/26 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
电影小兵张嘎观后感
2015/06/03 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
超级详细实用的pycharm常用快捷键
2021/05/12 Python
Nginx内网单机反向代理的实现
2021/11/07 Servers