How do I modify colors in a stacked bar graph?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a stacked bar graph and would like to color the stacks according to their position in the vector, but each value doesn't always get printed.
m1{1,1}=0.0193; %only a single value in this position
m1{2,1} = [-0.0155 0.0117 -0.0037 -0.0856 0.0180];
m1{1,2} = [-0.0340 -0.02889 -0.0359 -0.1049 -0.0255];
m1{2,2} = [-8.5343e-04 0.0213 0.0129 0 0.0243];
%There are 5 values in each cell. I am stacking these values but I don't want them crossing zero so I plot + and - separately. I want to plot each cell as series in the bar plot (so they should be touching) and then do this for 3 months on the same graph.
cl_colors={'r','y','g','b','c'};
f1p=find(m1{2,1}(m1{2,1}>=0));
f2p=find(m1{2,2}(m1{2,2}>=0));
f1m=find(m1{2,1}(m1{2,1}<0));
f2m=find(m1{2,2}(m1{2,2}<0));
% I was hoping this could be used to define the colors of my stacks. For example, if bar1 plots the numbers from positions 1,3,4 then I want the colors of those stacks to be r,g,b. It's important that the colors always associate with the position in the vector.
bar1=bar([[m1{2,1}(m1{2,1}>=0) zeros(length(m1{2,1}(m1{2,1}<0)),1)'];...
[m1{2,2}(m1{2,2}>=0) zeros(length(m1{2,2}(m1{2,2}<0)),1)']],'stack','BarWidth',1,'FaceColor',{[cl_colors(f1p) 'w' 'w' 'w'];[cl_colors(f2p) 'w' }));
hold on
bar2=bar(get(bar1,'XTick'),[[m1{2,1}(m1{2,1}<0) zeros(length(m1{2,1}(m1{2,1}>=0)),1)'];...
[m1{2,2}(m1{2,2}<0) zeros(length(m1{2,2}(m1{2,2}>=0)),1)']],'stack','BarWidth',1,'FaceColor',{[cl_colors(f1m) 'w' 'w' ];[cl_colors(f2m) 'w' 'w' 'w' 'w']}));
% In the above statement (which doesn't work for assigning facecolor), using 'w' based on manual inspection is less than ideal so I am hoping someone has a suggestion for this. The final product should also have m1{1,1} as a single black bar. Based on other posts, I tried to get(bar1,'Children') and then changing the facecolor or cdata but to no avail.
Let's say that's the data for Mar, How do I then plot the data for Apr in the same configuration spaced away from the Mar series? Thanks!
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Bar Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!