Plotting a Gantt Chart from a Matrix

31 次查看(过去 30 天)
Hello,
I plotted this gantt chart in excel using this table.
The Gantt Chart looked like this
To remove the gaps durations, I used the legend to de-colored them, remove the boarders and remove them.
Now, I would like to plot the same gantt chart in Matlab using the following command:
barh(Positions,Gap_Duration,'stacked');
where:
Positions=[1,2,3,4];
Gap_Duration=[0,2,5,3,5,3;
3,5,3,5,3,4;
9,3,0,0,12,2;
13,2,2,2,8,3];
However, I want to change the color for every job duration (every even column at the Gap_Duration Matrix) and No-Color & No-Boarder for every gap duration (every odd column at the Gap_Duration Matrix).
Note: this only a simple example, I am dealing with a Gap_Duration Matrix with a size of (60,55*2),
60 positions and 55 jobs with their 55 gaps. where each job should have its own color or at least every 8-10 jobs have different color.
I already did the code for obtaining the Gap_Duration Matrix.
Thanks in advance.

回答(2 个)

Jos (10584)
Jos (10584) 2017-12-8
Use graphic handles to manipulate the graph:
Positions=[1,2,3,4];
Gap_Duration=[0,2,5,3,5,3;
3,5,3,5,3,4;
9,3,0,0,12,2;
13,2,2,2,8,3];
H = barh(Positions,Gap_Duration,'stacked')
set(H([1 3 5]),'Visible','off')
  2 个评论
Md. Kawsar Ahmed Asif
Hello Jos,
I don't understand the following command. Could you explain me?
" set(H([1 3 5]),'Visible','off') "
Thanks In Advance ... :)
Jos (10584)
Jos (10584) 2018-5-14
Whenever Matlab plots something it creates a handle to the plotted object. You can manipulate these objects by setting its properties using the handles. In the example above, H is a array of handles to bar elements (see the documentation of barh). The command sets the property "visible" to off for three of them.

请先登录,再进行评论。


Alexis Wang
Alexis Wang 2022-8-30
If it helps, I just published a custom Gantt chart for anyone to use and download on File Exchange here: https://www.mathworks.com/matlabcentral/fileexchange/116970-gantt-chart?s_tid=srchtitle. If you have any questions or feedback, feel free to let me know!

类别

Help CenterFile Exchange 中查找有关 Bar Plots 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by