![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/564501/image.png)
How to change the color of a stacked bar?
6 views (last 30 days)
Show older comments
Wolfgang McCormack
on 27 Mar 2021
Commented: Wolfgang McCormack
on 27 Mar 2021
Hi all,
I have a stacked bar that has a legend but I don't like the way colors are represting it. I want the orange color be the first instead of blue, how can I modify it?
0 Comments
Accepted Answer
DGM
on 27 Mar 2021
Edited: DGM
on 27 Mar 2021
There are probably various ways to solve this. If the colors are adequate and you merely want to change their ordering, consider the example:
clc; clf;
% simple stacked bar chart
A = [3 2 5; 2 1 6; 5 8 2];
subplot(1,2,1);
bar(A, 'stacked');
subplot(1,2,2);
h=bar(A, 'stacked');
newordering=[3 2 1];
CD={h.FaceColor};
for c=1:numel(h)
h(c).FaceColor=CD{newordering(c)};
end
This gives us the result:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/564501/image.png)
In this case, I reversed the color order, but you can specify any order with the variable newordering.
This works in R2019b, but not R2015b. Unless specified otherwise, I'm going to assume you are using a relatively new version.
More Answers (0)
See Also
Categories
Find more on Legend 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!