Changing the color of stacking bar plot with many groups
1 view (last 30 days)
Show older comments
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')
0 Comments
Accepted Answer
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
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.
More Answers (0)
See Also
Categories
Find more on Annotations 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!