How to change color for stacked bar chart

135 次查看(过去 30 天)
Hi
I am wondering how I can change the color of the bars in a stacked bar chart. The code below gives me the error message "Expected one output from a curly brace or dot indexing expression, but there were 2 results." I wanted to apply blue \ hatch on the gray column, but so far I am not even able to change the color of the bars. I am able to make all bars in blue hatch \ with white background.
I have added a png to show what I want. I changed the colors in the png after running the script with the mouse, and therefor I do not have the option to export the figure as eps (better quality) with correct colors.
ba = bar(y,'stacked', 'FaceColor','flat');
ba.CData(1,:) = [0.5 0.5 0.5]
ba.CData(2,:) = [0 0 1]
applyhatch_plusC(gcf,'\','b');

采纳的回答

Star Strider
Star Strider 2019-4-20
Try this:
y = [50 50; 25 75; 30 70];
figure
ba = bar(y,'stacked', 'FaceColor','flat');
ba(1).CData = [0.3 0.3 0.7];
ba(2).CData = [1 1 1]*0.8;
Experiment to get the result you want.
  4 个评论
Andreas Grøvan Aspaas
Thanks again! For future people searching for a solution to what I have been trying: I was not able to make 'plot::Hatch' work, so I ended up using 'hatchfill2' which worked great, except for the legend. To make it work with the legend 'legendflex' can be used, but I was not able to achive what I wanted with positioning so I ended up using indesign to fix the legend.
Star Strider
Star Strider 2019-4-21
As always, my pleasure!
Your Comment certainly argues for a function that combines all of those features.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by