meatball1982 发表于 2020-4-26 15:23:31

豆粑粑 matlab 画甘特图

DL问的,画甘特图,
完全没听说过是个什么东西。查了一下。就是画方块。
数据和程序,都是别人的。我是转的。
https://www.cnblogs.com/lcchuguo/p/5198284.html



clear;
clf
h=figure(1)
set(h, 'Position', );
axis();%x轴 y轴的范围
set(gca,'xtick',0:2:56) ;%x轴的增长幅度
set(gca,'ytick',0:1:6.5) ;%y轴的增长幅度
xlabel('加工时间'),ylabel('机器号');%x轴 y轴的名称
title('mt06 的一个最佳调度(最短完工时间为55)');%图形的标题
n_bay_nb=6;%total bays//机器数目
n_task_nb = 36;%total tasks//任务数目
%x轴 相应于绘图位置的起始坐标x
n_start_time=;%start time of every task//每一个工序的開始时间
%length 相应于每一个图形在x轴方向的长度
n_duration_time =;%duration time of every task//每一个工序的持续时间
%y轴 相应于绘图位置的起始坐标y
n_bay_start=; %bay id of every task==工序数目,即在哪一行画线
%工序号,能够依据工序号选择使用哪一种颜色
n_job_id=;%
rec=;%temp data space for every rectangle
color=['r','g','b','c','m','y'];
for i =1:n_task_nb
rec(1) = n_start_time(i);%矩形的横坐标
rec(2) = n_bay_start(i)+0.7;%矩形的纵坐标
rec(3) = n_duration_time(i);%矩形的x轴方向的长度
rec(4) = 0.6;
txt=sprintf('p(%d,%d)=%d',n_bay_start(i)+1,n_job_id(i)+1,n_duration_time(i));%将机器号,工序号,加工时间连城字符串
   rectangle('Position',rec,'LineWidth',0.5,'LineStyle','-','FaceColor',color(n_job_id(i)+1));%draw every rectangle
   text(n_start_time(i)+0.2,(n_bay_start(i)+1),txt,'FontWeight','Bold','FontSize',12);%label the id of every task,字体的坐标和其他特性
end
box on
grid on

页: [1]
查看完整版本: 豆粑粑 matlab 画甘特图