【数学建模】【matlab】使用软件画甘特图

甘特图

在这里插入图片描述
就是像这样的图,我刚开始还不知道它叫啥名字,问了学姐才知道

我是在做数学建模的过程中接触的这个图表,因此记录一下学习过程。

matlab

在这里插入图片描述

function NJUCM_2()
clear;
%% 基础设置
axis([0, 20, 0, 5.5]);
set(gca, 'xtick', 0 : 1 : 20);
set(gca, 'ytick', 0 : 1 : 10.5);
xlabel('购买年与结投年'), ylabel('证券种类');
title('证券投资年份');
Number_securities = 15;
Number_task = 15;

%% 对应坐标 
X_start_time = [1 11 10 1 5 16 1 16 5 1 17 4 1 18 3];
X_duration_time = [10 2 10 4 2 4 15 2 15 16 2 16 17 2 17];
Y_start_time = [1 1 2 3 3 4 5 5 6 7 7 8 9 9 10];
N_job_id = [1 1 1 2 2 2 3 3 3 4 4 4 5 5 5];
rec = [0 0 0 0 ];
color=['r','g','b','c','m'];

%% 绘图
for i = 1 : Number_securities
   rec(1) = X_start_time(i);
   rec(2) = Y_start_time(i) + 0.7;
   rec(3) = X_duration_time(i);
   rec(4) = 0.6;
   txt=sprintf('(%d,%d)', N_job_id(i)+1, X_duration_time(i));
   rectangle('Position',rec,'LineWidth',0.5,'LineStyle','-','FaceColor',color(N_job_id(i)+1));
   text(X_start_time(i)+0.2,(Y_start_time(i)+1),txt,'FontWeight','Bold','FontSize',18);
end
end


  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Matlab中,可以使用patch函数来甘特图。首先,需要定义每个工件的开始时间和结束时间,以及每个工件对应的机器和颜色。然后,使用循环来创建每个工件的矩形,并设置其颜色。最后,设置横纵坐标的范围和标签,以及图表的样式。 以下是一个示例代码: ```matlab a=\[0 0 0 5; 1 0 5 49; 2 0 49 145; 0 1 5 22; 1 1 49 135; 2 1 145 177; 0 2 22 94; 1 2 135 189; 2 2 189 225; \]; % 定义工件的开始时间和结束时间 color=\[192,90,42; 66,212,203; 130,150,80; \]; % 定义颜色数组 figure(1);clf; % 创建图表 w=0.6; % 横条宽度 set(gcf,'color','w'); % 设置背景颜色 for ii=1:size(a,1) x=a(ii,\[3 3 4 4\]); y=a(ii,1)+\[-w/2 w/2 w/2 -w/2\]+0.9; p=patch('xdata',x,'ydata',y,'facecolor',\[color(a(ii,2)+1,1)/255,color(a(ii,2)+1,2)/255,color(a(ii,2)+1,3)/255\],'edgecolor','k'); text(a(ii,3)+1,a(ii,1)+0.9,num2str(a(ii,2)),'FontSize',13); end xlabel({'Makespan'},'FontSize',14,'FontWeight','bold'); ylabel({'Machine'},'FontSize',14,'FontWeight','bold'); axis(\[0 250 0 4\]); % 设置横纵坐标范围 set(gca,'FontSize',12) % 设置横纵坐标大小 set(gca,'Box','on'); % 设置右上边框 set(gca,'YTick',0:4); set(gca,'YTickLabel',{'';num2str((1:3)','M%d');''}); ``` 这段代码会生成一个甘特图,横轴表示作业的完成时间,纵轴表示机器。每个工件用一个矩形表示,矩形的颜色表示不同的工件。 #### 引用[.reference_title] - *1* [MATLAB甘特图](https://blog.csdn.net/root_zhb/article/details/114155938)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [matlab甘特图(用任意多颜色表示任意多工件)](https://blog.csdn.net/dfb198998/article/details/49785279)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [MATLAB | 如何使用MATLAB绘制甘特图(gantt chart)](https://blog.csdn.net/slandarer/article/details/127469719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值