首頁技術文章正文

Python培訓:繪制甘特圖

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

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

1654494559392_某項目進度.jpg

  圖8-10某項目進度的甘特圖

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

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

import numpy as np
import matplotlib.pyplot as plt
ticks = np.array(['提交報告', '數據分析', '數據錄入', '實地執(zhí)行',
                  '問卷確定', '試訪', '問卷設計', '項目確定'])
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("任務甘特圖")
ax.set_xlabel("日期")
ax.grid(alpha=0.5, axis='x')
plt.show()

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

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

1654494689831_任務甘特圖.jpg

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

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