詳解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',則會(huì)出現(xiàn)相同條形對應(yīng)相同顏色的,可以根據(jù)顏色來盤點(diǎn)任務(wù)大概對應(yīng)的索引值是多少。
這個(gè)值得范圍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繪圖工具,繪制甘特圖詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Python入門教程(十一)Python中的運(yùn)算符
這篇文章主要介紹了Python入門教程(十一)Python中的運(yùn)算符,Python是一門非常強(qiáng)大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下2023-04-04
python paramiko連接ssh實(shí)現(xiàn)命令
這篇文章主要為大家介紹了python paramiko連接ssh實(shí)現(xiàn)的命令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
使用python tkinter實(shí)現(xiàn)各種個(gè)樣的撩妹鼠標(biāo)拖尾效果
這篇文章主要介紹了使用python tkinter實(shí)現(xiàn)各種個(gè)樣的撩妹鼠標(biāo)拖尾效果,本文通過實(shí)例代碼,給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
python實(shí)現(xiàn)在windows服務(wù)中新建進(jìn)程的方法
這篇文章主要介紹了python實(shí)現(xiàn)在windows服務(wù)中新建進(jìn)程的方法,涉及Python針對Windows服務(wù)與進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06
python模擬鼠標(biāo)點(diǎn)擊和鍵盤輸入的操作
這篇文章主要介紹了python模擬鼠標(biāo)點(diǎn)擊和鍵盤輸入的操作,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
利用Python爬蟲爬取金融期貨數(shù)據(jù)的案例分析
從技術(shù)角度來看,經(jīng)過一步步解析,任務(wù)是簡單的,入門requests爬蟲及入門pandas數(shù)據(jù)分析就可以完成,本文重點(diǎn)給大家介紹Python爬蟲爬取金融期貨數(shù)據(jù)的案例分析,感興趣的朋友一起看看吧2022-06-06
教你用Type Hint提高Python程序開發(fā)效率
本文通過介紹和實(shí)例教大家如何利用Type Hint來提升Python程序開發(fā)效率,對大家使用python開發(fā)很有幫助,有需要的參考學(xué)習(xí)。2016-08-08
使用 setuptools 在 Python 中安裝 egg 
Eggs 是 Python 中以前使用的一種分發(fā)格式,它包含特定項(xiàng)目所需的信息,從依賴項(xiàng)到環(huán)境變量,在本文中,我們將討論如何在 Python 中安裝 egg 文件,以及可用于實(shí)現(xiàn)此操作的工具,感興趣的朋友一起看看吧2023-08-08

