甘特图-python

import matplotlib.pyplot as plt
def gatt(CHS,Processing_time,Setup_time,Transpotation_time,M_num,O_Max_len,J_num):
    D=Decode_Matrix(CHS, Processing_time, Setup_time, Transpotation_time, M_num, O_Max_len, J_num)
    # print(CHromo)
    End_time=D[1]
    Start_time=D[0]
    S_start=D[2]
    S_end=D[3]
    T_start=D[4]
    T_end=D[5]
    T0 = J_num * O_Max_len
    N = M_num
    Start = []
    End = []
    M = ['red', 'blue', 'yellow', 'orange', 'green', 'palegoldenrod', 'purple', 'pink','Thistle','Magenta','SlateBlue','RoyalBlue','Cyan','Aqua','floralwhite','ghostwhite','goldenrod','mediumslateblue','navajowhite',
             'navy','sandybrown','moccasin']
    S_color='white'
    T_color='grey'
    s=('/', '+', 'x', '\\', '||', 'o', '///','//' '.','//','#','||')
    for i in range(N):
        for j in range(T0):
            if End_time[i][j] != 0 and End_time[i][j] - Start_time[i][j] != 0:
                plt.barh(i*3, width=End_time[i][j] - Start_time[i][j],height=0.8, left=Start_time[i][j],
                              color=M[int(j/O_Max_len)],edgecolor='black')
                plt.text(x=Start_time[i][j] + 0.1, y=i*3, s=(int(j/O_Max_len)+1, j%O_Max_len+1),fontsize=8)
            if S_end[i][j] != 0 and S_end[i][j] - S_start[i][j] != 0:
                plt.barh(i * 3+1, width=S_end[i][j] - S_start[i][j], height=0.8, left=S_start[i][j],
                         color=S_color, edgecolor='black')
                plt.text(x=S_start[i][j] + 0.1, y=i * 3+1, s=(int(j / O_Max_len) + 1, j % O_Max_len + 1),
                         fontsize=8)
            if T_end[i][j] != 0 and T_end[i][j] - T_start[i][j] != 0:
                plt.barh(i * 3+2, width=T_end[i][j] - T_start[i][j], height=0.8, left=T_start[i][j],
                         color=T_color, edgecolor='black')
                plt.text(x=T_start[i][j] + 0.1, y=i * 3+2, s=(int(j / O_Max_len) + 1, j % O_Max_len + 1),
                         fontsize=8)
                Start.append(Start_time[i][j])
                End.append(End_time[i][j])


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喝凉白开都长肉的大胖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值