之前项目需要画个甘特图,在网上看到一篇比较好的例子,但是里面缺少了我需要的类型,今天补上这个例子。
原文帖子:
https://blog.csdn.net/u012798683/article/details/88852291
不错的贴子:
我补充的类型是这样的:
代码其实就修改了一点;
只要把Task写成同一个名字,时间按先后顺序就可以了。
代码:
import plotly.figure_factory as ff
import plotly as py
def taetgqntt():
pyplt = py.offline.plot
df = [
dict(Task="项目1", Start='2019-04-15', Finish='2019-05-17', Resource='Complete'),
dict(Task="项目1", Start='2019-02-01', Finish='2019-03-15', Resource='Incomplete'),
dict(Task="项目1", Start='2019-01-01', Finish='2019-02-02', Resource='Complete'),
dict(Task="项目1", Start='2019-03-10', Finish='2019-04-17', Resource='Not Started'),
dict(Task="项目1", Start='2019-05-16', Finish='2019-05-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='2.html')