matlab画甘特图
2016-02-18 15:11
671 查看
近期为发小论文一直在研究作业调度问题,好不easy把数据搞出来了,结果又被画甘特图给难住了,查了各种资料。anygantt,highchart。Jfree chart等都试了,效果都不咋好。无意中留意到网上实用matlab画甘特图的,自己改动了一下。感觉画出的图还能够。感觉还是matlab好用啊。代码简单,函数库强大。废话少说直接上代码。
有图有真相:
%fileName:mt06_final.mt06 %fileDescription:create a gatt chart whith the data given %creator:by mnmlist %Version:1.0 %last edit time:06-05-2015 clear; axis([0,56,0,6.5]);%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=[0 1 0 8 8 13 6 10 13 1 16 13 22 13 22 25 18 27 25 19 28 31 28 31 38 30 38 42 45 38 48 45 49 49 48 52];%start time of every task //每一个工序的開始时间 %length 相应于每一个图形在x轴方向的长度 n_duration_time =[1 5 8 5 5 3 4 8 10 3 3 9 3 5 5 6 9 3 5 9 10 1 10 7 4 8 10 3 9 7 3 4 6 1 4 1];%duration time of every task //每一个工序的持续时间 %y轴 相应于绘图位置的起始坐标y n_bay_start=[2 2 1 1 2 1 3 5 4 0 3 2 1 0 2 1 0 3 4 5 0 1 5 3 5 4 0 5 5 4 0 4 4 2 3 3]; %bay id of every task ==工序数目,即在哪一行画线 %工序号,能够依据工序号选择使用哪一种颜色 n_job_id=[0 2 1 3 1 5 2 2 1 0 5 4 4 3 3 0 2 3 4 5 5 2 1 0 4 3 1 0 3 2 4 5 0 5 1 4];% rec=[0,0,0,0];%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',18);%label the id of every task ,字体的坐标和其他特性 end
有图有真相:
相关文章推荐
- 【MATLAB】数值分析与统计
- Matlab 2013a安装后关联“.m”文件
- Matlab计时函数使用
- 相机标定之OpenCV&Matlab
- 【MATLAB】关系运算与逻辑运算
- 【MATLAB】数组
- MATLAB总览
- matlab坐标轴axes对象句柄消失的解决办法
- 系统的动态性能比较_20160213
- 欠阻尼二阶系统_20160211
- MATLAB for Mac 安装
- matlab--gui--callback
- matlab GUI学习
- matlab mex编程:gcc编译器切换
- Matlab Map
- matlab代码
- 以前写的matlab代码,有部分是从txt导数据到matlab里,还有合并矩阵
- matlab 绘制pdf曲线
- matlab生成EXE
- MATLAB中存储中间数据以避免重复计算