Horizontal bar chart / Gantt Chart
조회 수: 4 (최근 30일)
이전 댓글 표시
Alexander Tollinger
2020년 3월 30일
댓글: Mohamed El Khalil Danine
2022년 12월 7일
Hey guys I have a simple question,
I have a 5x 3 array with the 1st column representing the project number, 2nd column representing the start time and 3rd col representing the end time.
- Now I just need to plot this in a Gantt Chart.
Heres the script:
clc;
clear all;
close all;
rng('default');
T = [1 randi([10 20])
2 randi([10 20])
3 randi([10 20])
4 randi([10 20])
5 randi([10 20])]
D = projectscheduling(T);
And here is the function:
Brief summary of this function.
Detailed explanation of this function.
function [time] = projectscheduling(T)
time = zeros(5, 3);
for i = 2:5
time(1 ,1) = 1;
time(1, 2) = 0;
time(1 , 3) = T(1, 2);
time(i , 1) = T(i , 1);
time(i, 2) = time(i-1, 3);
time(i, 3) = T(i , 2) + time(i, 2);
end
disp(time);
end
And here's a pic of what the finished plot should look like:
댓글 수: 0
채택된 답변
Jyotsna Talluri
2020년 4월 2일
The vertical axis coordinates should represent project number and bar lengths of each group should be represented by vector of values . Generate these vector of values from your Matrix D as below
Positions=zeros(1,5); % vertical axis coordinates
plotLengths = zeros(5,2);
for i =1:5
Positions(1,i) = D(i,1);
plotLengths(i,1) = D(i,2);
plotLengths(i,2) = D(i,3)-D(i,2);
end
Draw the bars in the stacked style with the total length of bar of each group equals the sum of elements in the group
H = barh(Positions,plotLengths,'stacked');
Set the visibility of first plot handle of each group to off
set(H(1),'Visible','off');
댓글 수: 0
추가 답변 (1개)
Alexis Wang
2022년 8월 30일
I just published Gantt chart on File Exchange: https://www.mathworks.com/matlabcentral/fileexchange/116970-gantt-chart?s_tid=srchtitle.
This can take in a datetime vector of start dates and another of end dates. It uses patch instead of barh though, and draws each bar for every task. Feel free to let me know if you have any questions. Hope that helps!
댓글 수: 1
참고 항목
카테고리
Help Center 및 File Exchange에서 Bar Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!