首頁技術(shù)文章正文

Python培訓(xùn):繪制甘特圖

更新時間:2022-06-06 來源:黑馬程序員 瀏覽量:

  今天的Python培訓(xùn)課程,我們講解一下甘特圖的繪制方法。甘特圖亦稱為橫道圖、條狀圖,它通過活動列表和時間刻度表示特定項目的順序與持續(xù)時間。甘特圖一般以時間為橫軸、項目為縱軸,可以直觀地展示每個項目的進(jìn)展情況,以便于管理者了解項目的剩余任務(wù)及評估工作進(jìn)度。例如,某公司于12月份跟蹤了某項目的進(jìn)度,如圖8-10所示。

1654494559392_某項目進(jìn)度.jpg

  圖8-10某項目進(jìn)度的甘特圖

  觀察圖8-10可知,甘特圖類似于條形圖,它們的圖形都是橫向的矩形條,但甘特圖中每個矩形條的起始位置是不同的。使用pyplot模塊的barh()函數(shù)可以繪制一個甘特圖,只需要給left參數(shù)傳入值,指定每個矩形條x坐標(biāo)值即可。

       已知某公司準(zhǔn)備開辟一個新項目,為確保項目的可行性,將該項目劃分為“項目確定”“問卷設(shè)計”“試訪”“問卷確定”“實地執(zhí)行”“數(shù)據(jù)錄入”“數(shù)據(jù)分析”“提交報告”共8個任務(wù),并指定了各任務(wù)的周期。下面使用barh()繪制一個甘特圖,示例代碼如下。

import numpy as np
import matplotlib.pyplot as plt
ticks = np.array(['提交報告', '數(shù)據(jù)分析', '數(shù)據(jù)錄入', '實地執(zhí)行',
                  '問卷確定', '試訪', '問卷設(shè)計', '項目確定'])
y_data = np.arange(1,9)
x_data = np.array([0.5, 1.5, 1, 3, 0.5, 1, 1,2])
fig, ax = plt.subplots(1, 1)
ax.barh(y_data, x_data, tick_label=ticks,
        left=[7.5, 6, 5.5, 3, 3, 2, 1.5, 0], color='#CD5C5C')
[ax.spines[i].set_visible(False) for i in ['top', 'right']]
ax.set_title("任務(wù)甘特圖")
ax.set_xlabel("日期")
ax.grid(alpha=0.5, axis='x')
plt.show()

       運行程序,效果如圖8-11所示。

  圖8-11中,每個深灰色的條形代表任務(wù)的周期,條形越長代表周期越長。由圖8-11可知,“實地執(zhí)行”任務(wù)的周期最長,共計3天。

1654494689831_任務(wù)甘特圖.jpg

  圖8-11某新項目8個任務(wù)及各任務(wù)周期的甘特圖

分享到:
在線咨詢 我要報名
和我們在線交談!