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 ExchangeLine Plots についてさらに検索

製品

リリース

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by