詳解Python使用Plotly繪圖工具,繪制甘特圖
今天來講一下如何使用Python 的繪圖工具Plotly來繪制甘特圖的方法
甘特圖大家應(yīng)該了解熟悉,就是通過條形來顯示項(xiàng)目的進(jìn)度、時(shí)間安排等相關(guān)情況的。
我們今天來學(xué)習(xí)一下,如何使用ployly來繪制甘特圖
繪制甘特圖的函數(shù)為Plotly.figure_factoryz中create_gantt方法
通過參數(shù)事件Task,開始Start,結(jié)束Finish的時(shí)間的數(shù)據(jù)來繪制甘特圖
import plotly as py import plotly.figure_factory as ff pyplt = py.offline.plot df = [dict(Task = "項(xiàng)目1", Start = '2019-02-01', Finish = '2019-05-28'), dict(Task = "項(xiàng)目2", Start = '2019-03-05', Finish = '2019-04-15'), dict(Task = "項(xiàng)目3", Start = '2019-03-20', Finish = '2019-05-30')] fig = ff.create_gantt(df) pyplt(fig, filename='tmp/1.html')

運(yùn)行上訴代碼,我們可以看到縱坐標(biāo)為我們的的項(xiàng)目數(shù)量。橫坐標(biāo)時(shí)間不短增加,越接近縱坐標(biāo)的,說明事件發(fā)生的情況越早。
還可以在甘特圖中加入數(shù)字索引值
代碼如下:
import plotly as py import plotly.figure_factory as ff pyplt = py.offline.plot df = [dict(Task="項(xiàng)目1", Start='2019-01-01', Finish='2019-02-28', Complete=10), dict(Task="項(xiàng)目2", Start='2018-12-05', Finish='2019-04-15', Complete=10), dict(Task="項(xiàng)目3", Start='2019-02-20', Finish='2019-05-30', Complete=50), dict(Task="項(xiàng)目4", Start='2019-03-20', Finish='2019-06-30', Complete=50), dict(Task="項(xiàng)目5", Start='2019-01-12', Finish='2019-04-28', Complete=100), dict(Task="項(xiàng)目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')

運(yùn)行上訴代碼,可以看到右邊出現(xiàn)了索引條,每項(xiàng)工作后的complete屬性即為其對應(yīng)的索引值,在create_gamtt函數(shù)中
設(shè)置,index_col = ‘Complete',則會出現(xiàn)相同條形對應(yīng)相同顏色的,可以根據(jù)顏色來盤點(diǎn)任務(wù)大概對應(yīng)的索引值是多少。
這個值得范圍0-100,用來反映工作完成的進(jìn)度,100表示全部完成,0表示沒有進(jìn)展。
接下來講解如何按照類別來進(jìn)行索引
import plotly as py
import plotly.figure_factory as ff
pyplt = py.offline.plot
df = [dict(Task="項(xiàng)目1", Start='2019-01-01', Finish='2019-02-02', Resource='Complete'),
dict(Task="項(xiàng)目2", Start='2019-02-15', Finish='2019-03-15', Resource='Incomplete'),
dict(Task="項(xiàng)目3", Start='2019-01-17', Finish='2019-02-17', Resource='Not Started'),
dict(Task="項(xiàng)目4", Start='2019-01-17', Finish='2019-02-17', Resource='Complete'),
dict(Task="項(xiàng)目5", Start='2019-03-10', Finish='2019-03-20', Resource='Not Started'),
dict(Task="項(xiàng)目6", Start='2019-04-01', Finish='2019-04-20', Resource='Not Started'),
dict(Task="項(xiàng)目7", Start='2019-05-18', Finish='2019-06-18', Resource='Not Started'),
dict(Task="項(xiàng)目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')
運(yùn)行上訴代碼,得到如下圖所示內(nèi)容
運(yùn)行上訴代碼,得到如下圖所示內(nèi)容

這里我們通過按照不同的顏色,來分別項(xiàng)目的類型。同一顏色,為同一項(xiàng)目。在每一項(xiàng)數(shù)據(jù)中
Resource代表此項(xiàng)工作所屬的狀態(tài)。這里分了三種狀態(tài)。
通過在設(shè)置create_gantt函數(shù)中的index_col = 'Resource'即可完成。
color屬性用于設(shè)置不同狀態(tài)對應(yīng)的顏色。
以上所述是小編給大家介紹的Python使用Plotly繪圖工具,繪制甘特圖詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
PyTorch如何利用parameters()獲取模型參數(shù)
這篇文章主要介紹了PyTorch如何利用parameters()獲取模型參數(shù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
pandas讀取excel,txt,csv,pkl文件等命令的操作
這篇文章主要介紹了pandas讀取excel,txt,csv,pkl文件等命令的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
使用qt quick-ListView仿微信好友列表和聊天列表的示例代碼
本文以微信好友列表為例給大家學(xué)習(xí)listview的相關(guān)知識,通過實(shí)例demo給大家詳解qt quick-ListView仿微信好友列表和聊天列表的實(shí)現(xiàn)方法,需要的朋友參考下吧2021-06-06
python中enumerate() 與zip()函數(shù)的使用比較實(shí)例分析
這篇文章主要介紹了python中enumerate()與zip()函數(shù)的使用比較,結(jié)合實(shí)例形式分析了enumerate()與zip()函數(shù)的功能、用法及操作注意事項(xiàng),需要的朋友可以參考下2019-09-09
Python多繼承時(shí)子類如何調(diào)用指定父類
這篇文章主要介紹了Python多繼承時(shí)子類如何調(diào)用指定父類問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
python爬蟲模擬登錄之圖片驗(yàn)證碼實(shí)現(xiàn)詳解
眾所周知python是一個很強(qiáng)大的語言,它擁有眾多的庫,今天我嘗試了使用python進(jìn)行驗(yàn)證碼的識別,下面這篇文章主要給大家介紹了關(guān)于python爬蟲模擬登錄之圖片驗(yàn)證碼實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2022-08-08
python?pygame實(shí)現(xiàn)打磚塊游戲
這篇文章主要為大家詳細(xì)介紹了python?pygame實(shí)現(xiàn)打磚塊游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05

