Horizontal bar chart / Gantt Chart
Show older comments
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:

Accepted Answer
More Answers (1)
Alexis Wang
on 30 Aug 2022
0 votes
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 Comment
Mohamed El Khalil Danine
on 7 Dec 2022
hi i tryed to use this code but it gives me lot errors.
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!