甘特图 Python,python画甘特图
所采用案例为高亮老师书《柔性作业车间调度智能算法及其应用》 第16页甘特图
导入随机导入matplotlib。py绘图为PLT PLT。RC params[行。线宽]=0.5磅。RC params[ font。sans-serif ]=[字体。尺寸]=7.5磅。RC params[文本。颜色]=黑色 PLT。RC params[轴。unicode _ MINUS ]=false colour _ BITS=[ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,为每工件对应生成颜色@param工件工件号@返回颜色各工件对应的颜色列表 colors=[]work piece num=len(set(work piece num))for I in range(work piece num):COLOUR BITS=[ # ]COLOUR BITS。扩展(随机。样本(COLOUR _ BITS,6))颜色。追加( .join(colour bits))返回颜色定义gantt(macInfo:list,flow: list,macStartTime: list,workpiece: list,operation:list): @ param macInfo对应的机器号M1=1,M1=2,@参数流各工序加工时间@param macStartTime各工序开始时间@param工件工件号J1=1,J2=2,@param操作操作序号 colors=enumerate(macInfo)中I,v的颜色生成(工件):m=v-1 PLT。barh(m,flow[i],0.3,left=macStartTime[i],colors=colors[工件[I]-1])PLT。text(MAC start time[i]flow[I]/8,m, J%s.%s %(工件[I],操作[I]),size=7.5)if _ _ name _ _= _ _ main _ _ :MS=[1,1,1,2,2,2 3] oper=[1,1,2,1,2,3,2,3] #画图gantt(MS,T,macStartTime,J,oper) plt.axvline(x=16.0,c=k ,ls= -,lw=0.5) #参考线plt.yticks(range(len(set(MS))),[$M_{1}$ , $M_{2}$ , $M_{3}$]) plt.show()
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。