How do I plot Gantt Chart for scheduling?
조회 수: 41 (최근 30일)
이전 댓글 표시
Hello everyone,
I have following matrix including task start and finish time for scheduling.
task start finish
1 0 410
2 410 600
3 600 803
4 803 1425
5 600 950
6 0 653
7 653 1970
8 1970 3050
9 3050 3406
10 3406 3778
11 3778 4192
12 4192 4693
13 4693 5353
14 3050 4572
15 5353 5452
16 5452 7648
How can I plot start and finish time for each task?
댓글 수: 0
채택된 답변
Adam Danz
2023년 1월 10일
편집: Adam Danz
2023년 1월 10일
You could create your own Gantt chart by building on this quick demo below.
Demo: Matrix version
data = [% task, start, finish
1 0 410
2 410 600
3 600 803
4 803 1425
5 600 950
6 0 653
7 653 1970
8 1970 3050
9 3050 3406
10 3406 3778
11 3778 4192
12 4192 4693
13 4693 5353
14 3050 4572
15 5353 5452
16 5452 7648];
width = .75; % vertical width of horizontal bars
ypairs = data(:,1) + width./[-2,2];
y = repelem(ypairs,1,2);
x = data(:,[2,3,3,2]);
patch(x',y','b')
grid on
set(gca,'YDir','Reverse')
Demo: Table version
T = array2table([
1 0 410
2 410 600
3 600 803
4 803 1425
5 600 950
6 0 653
7 653 1970
8 1970 3050
9 3050 3406
10 3406 3778
11 3778 4192
12 4192 4693
13 4693 5353
14 3050 4572
15 5353 5452
16 5452 7648], ...
'VariableNames', {'Task','Start','Finish'});
width = .75; % vertical width of horizontal bars
ypairs = T.Task + width./[-2,2];
y = repelem(ypairs,1,2);
x = [T.Start, T.Finish, T.Finish, T.Start];
patch(x',y','b')
grid on
set(gca,'YDir','Reverse')
댓글 수: 8
Alfonso Rodriguez
2023년 12월 18일
Amazing code for a project managment class for engineers who are adapting to Matlab.
추가 답변 (1개)
Muhammad Raza
2023년 9월 23일
Here in this article, enough details available about how to plot gantt chart using MATLAB, take a look.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Instrument Control Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!