溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python使用Plotly繪圖工具,繪制甘特圖的方法

發(fā)布時間:2021-03-30 09:59:03 來源:億速云 閱讀:414 作者:小新 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關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')

Python使用Plotly繪圖工具,繪制甘特圖的方法

運行上訴代碼,我們可以看到縱坐標為我們的的項目數(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')

 Python使用Plotly繪圖工具,繪制甘特圖的方法

運行上訴代碼,可以看到右邊出現(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')
運行上訴代碼,得到如下圖所示內容

運行上訴代碼,得到如下圖所示內容

Python使用Plotly繪圖工具,繪制甘特圖的方法

這里我們通過按照不同的顏色,來分別項目的類型。同一顏色,為同一項目。在每一項數(shù)據(jù)中

Resource代表此項工作所屬的狀態(tài)。這里分了三種狀態(tài)。
通過在設置create_gantt函數(shù)中的index_col = 'Resource'即可完成。

color屬性用于設置不同狀態(tài)對應的顏色。

關于“Python使用Plotly繪圖工具,繪制甘特圖的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI