How to keep different colors for stacked bars in a multiple plot?

I've combined two different plots in the same axes with "hold on": a normal graph and a bar graph with stacked bars. I would like to mantain different colors for each part of the single bars, but when I plot the figure the bars turn into the same color, even if still separated in different parts. For example:
x=1:10
y1=rand(1,10)
y2=rand(10)
figure
yyaxis left
plot(x,y1)
hold on
yyaxis right
bar(x,y2,'stacked')
How can I keep different colors for each part?
Thanks so much

 採用された回答

Adam Danz
Adam Danz 2019 年 3 月 14 日
編集済み: Adam Danz 2019 年 3 月 14 日

0 投票

You can apply color to the bar sections after plotting.
yyaxis right
bh = bar(x,y2,'stacked'); %save the handle!
colors = lines(length(bh)); %define colors
for i = 1:length(bh)
set(bh(i), 'FaceColor', colors(i,:))
end

2 件のコメント

Marco Piantini
Marco Piantini 2019 年 3 月 15 日
Thank you so much Adam, it works!
Adam Danz
Adam Danz 2019 年 3 月 15 日
Nice!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange2-D and 3-D Plots についてさらに検索

製品

リリース

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by