Changing the color of stacking bar plot with many groups

1 view (last 30 days)
I have a big matrix with size of 28 X 10 and I used bar plot (stacking) to plot them. Now I'm struggling to change the color for all the 28 variables. Any to make them look different so i cant distinguish them.
figure
students = rand(28,10);
year = 2020: 2029;
bar(year, students, 'stacked')
legend('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'Z')

Accepted Answer

Rik
Rik on 17 Mar 2021
students = rand(28,10);
year = 2020: 2029;
h=bar(year, students, 'stacked') ;
legend('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'Z')
c=colormap('jet');
pick=round(linspace(1,size(c,1),numel(h)));
c=mat2cell(c(pick,:),ones(1,numel(h)),3);
[h.FaceColor]=deal(c{:});
  3 Comments
Yaser Khojah
Yaser Khojah on 17 Mar 2021
Is there a way to make some of them with grid color or something that would make them noticeable rather only by color?
Rik
Rik on 17 Mar 2021
Every group will be a bar object. You can check the documentation which properties are available for you to edit.
If you can't edit all properties you want, you may need to build it yourself from patch objects instead. You could see if there is something suitable on the FileExchange.

Sign in to comment.

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!