日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python动态横道图_Python数据可视化:甘特图画法

發布時間:2024/3/26 python 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python动态横道图_Python数据可视化:甘特图画法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是一名Python數據分析師,我想把自己轉行成功之路上的經驗分享給大家,由此就有了我的人工智能四部曲:《15天學會Python編程》、《每天10分鐘,用Python學數據分析》、《Python數據可視化實戰》、《33天搞定機器學習》。

甘特圖

甘特圖(Gantt chart)又稱為橫道圖、條狀圖(Bar chart)。以提出者亨利·勞倫斯·甘特(Henry Laurence Gantt)先生的名字命名。 甘特圖以圖示通過活動列表和時間刻度表示出特定項目的順序與持續時間。一條線條圖,橫軸表示時間,縱軸表示項目,線條表示期間計劃和實際完成情況。直觀表明計劃何時進行,進展與要求的對比。便于管理者弄清項目的剩余任務,評估工作進度。

甘特圖的特點是突出了生產管理中最重要的因素— 時間,它的作用表現在三個方面: 1、計劃產量與計劃時間的對應關系。 2、每日的實際產量與預定計劃產量的對比關系。 3、一定時間內實際累計產量與同時期計劃累計產量的對比關系

用Matplotlib畫甘特圖import matplotlib.pyplot as plt

import numpy as np

ax=plt.gca()

[ax.spines[i].set_visible(False) for i in ["top","right"]]

def gatt(m,t):

"""甘特圖

m機器集

t時間集

"""

for j in range(len(m)):#工序j

i=m[j]-1#機器編號i

if j==0:

plt.barh(i,t[j])

plt.text(np.sum(t[:j+1])/8,i,'J%sT%s'%((j+1),t[j]),color="white",size=8)

else:

plt.barh(i,t[j],left=(np.sum(t[:j])))

plt.text(np.sum(t[:j])+t[j]/8,i,'J%sT%s'%((j+1),t[j]),color="white",size=8)

if __name__=="__main__":

"""測試代碼"""

m=np.random.randint(1,7,35)

t=np.random.randint(15,25,35)

gatt(m,t)

plt.yticks(np.arange(max(m)),np.arange(1,max(m)+1))

plt.show()

這里講講plt.barh這個函數

barh()表示繪制水平方向的條形圖,基本使用方法為:

barh(y, width, left=0, height=0.8, edgecolor)

各個參數解析如下:

- y:在y軸上的位置

- width:條形圖的寬度(從左到右的哦)

- left:開始繪制的x坐標

- edgecolor:圖形邊緣的顏色

用Plotly繪圖工具,繪制甘特圖

繪制甘特圖的函數為Plotly.figure_factoryz中create_gantt方法 通過參數事件Task,開始Start,結束Finish的時間的數據來繪制甘特圖

iimport 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),

{!-- PGC_COLUMN --} 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')

可以看到右邊出現了索引條,每項工作后的complete屬性即為其對應的索引值,在create_gamtt函數中

設置,index_col = ‘Complete’,則會出現相同條形對應相同顏色的,可以根據顏色來盤點任務大概對應的索引值是多少。

這個值得范圍0-100,用來反映工作完成的進度,100表示全部完成,0表示沒有進展。

總結

以上是生活随笔為你收集整理的python动态横道图_Python数据可视化:甘特图画法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。