Plotting a Gantt Chart from a Matrix

65 visualizzazioni (ultimi 30 giorni)
Alaa Al-Saffar
Alaa Al-Saffar il 8 Dic 2017
Risposto: Alexis Wang il 30 Ago 2022
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:
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.

Risposte (2)

Jos (10584)
Jos (10584) il 8 Dic 2017
Use graphic handles to manipulate the graph:
H = barh(Positions,Gap_Duration,'stacked')
set(H([1 3 5]),'Visible','off')
  2 Commenti
Jos (10584)
Jos (10584) il 14 Mag 2018
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.

Accedi per commentare.

Alexis Wang
Alexis Wang il 30 Ago 2022
If it helps, I just published a custom Gantt chart for anyone to use and download on File Exchange here: If you have any questions or feedback, feel free to let me know!


Scopri di più su Line Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by