詳解Python使用Plotly繪圖工具,繪制甘特圖
今天來講一下如何使用Python 的繪圖工具Plotly來繪制甘特圖的方法
甘特圖大家應該了解熟悉,就是通過條形來顯示項目的進度、時間安排等相關情況的。
我們今天來學習一下,如何使用ployly來繪制甘特圖
繪制甘特圖的函數(shù)為Plotly.figure_factoryz中create_gantt方法
通過參數(shù)事件Task,開始Start,結束Finish的時間的數(shù)據(jù)來繪制甘特圖
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')

運行上訴代碼,我們可以看到縱坐標為我們的的項目數(shù)量。橫坐標時間不短增加,越接近縱坐標的,說明事件發(fā)生的情況越早。
還可以在甘特圖中加入數(shù)字索引值
代碼如下:
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')

運行上訴代碼,可以看到右邊出現(xiàn)了索引條,每項工作后的complete屬性即為其對應的索引值,在create_gamtt函數(shù)中
設置,index_col = ‘Complete',則會出現(xiàn)相同條形對應相同顏色的,可以根據(jù)顏色來盤點任務大概對應的索引值是多少。
這個值得范圍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')
運行上訴代碼,得到如下圖所示內容
運行上訴代碼,得到如下圖所示內容

這里我們通過按照不同的顏色,來分別項目的類型。同一顏色,為同一項目。在每一項數(shù)據(jù)中
Resource代表此項工作所屬的狀態(tài)。這里分了三種狀態(tài)。
通過在設置create_gantt函數(shù)中的index_col = 'Resource'即可完成。
color屬性用于設置不同狀態(tài)對應的顏色。
以上所述是小編給大家介紹的Python使用Plotly繪圖工具,繪制甘特圖詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
PyTorch如何利用parameters()獲取模型參數(shù)
這篇文章主要介紹了PyTorch如何利用parameters()獲取模型參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
pandas讀取excel,txt,csv,pkl文件等命令的操作
這篇文章主要介紹了pandas讀取excel,txt,csv,pkl文件等命令的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
使用qt quick-ListView仿微信好友列表和聊天列表的示例代碼
本文以微信好友列表為例給大家學習listview的相關知識,通過實例demo給大家詳解qt quick-ListView仿微信好友列表和聊天列表的實現(xiàn)方法,需要的朋友參考下吧2021-06-06
python中enumerate() 與zip()函數(shù)的使用比較實例分析
這篇文章主要介紹了python中enumerate()與zip()函數(shù)的使用比較,結合實例形式分析了enumerate()與zip()函數(shù)的功能、用法及操作注意事項,需要的朋友可以參考下2019-09-09

