How can I get a stacked bar graph with a single bar?

29 vues (au cours des 30 derniers jours)
David McVea
David McVea le 15 Juil 2016
Hello,
I am trying to get a single bar using the stacked property:
figure; bar([0.2 0.8], 'stacked')
This does not create a single stacked bar, it creates two bars of height 0.2 and 0.8.
A work-around is:
figure;bar([0.2 0.8; 1 1],'stacked'); set(gca,'xlim',[0.5 1.5])
But this seems like a silly thing to have to do.
Does anyone know why the stacked input doesn't seem to work for a single bar?
Thanks.

Réponse acceptée

Star Strider
Star Strider le 15 Juil 2016
One possibility for a workaround:
v = [0.2 0.8];
figure;
bar(sum(v), 'y')
hold on
bar(v(1), 'b')
hold off
  6 commentaires
André Bigalke
André Bigalke le 22 Juin 2018
Modifié(e) : André Bigalke le 22 Juin 2018
just add 1 line to limit the x axis:
bar([1,2,3,4,5,6,7,8,9,10,11,12,13; nan(1,13)], 'Stacked');
set(gca,'xtick',1);
xlim([0.25 1.75]);
Martijn
Martijn le 9 Jan 2019
Note that if you also actually specify x values and use a NaN there as well, you do not have to tweak the limits and ticks:
bar([1;nan], [1:3; nan(1,3)], 'stacked')

Connectez-vous pour commenter.

Plus de réponses (1)

Daniel
Daniel le 11 Fév 2020
Modifié(e) : Daniel le 27 Avr 2020
(requires MATLAB 2019b or later)
bar(1,[0.2 0.8], 'stacked')
Use the bar(x,y) synatax instead of bar(y). This way you can control if the bars are grouped.
  4 commentaires
Michaela Konstantinou
Michaela Konstantinou le 27 Avr 2022
Do you maybe know how to remove the margins from left anr right? Thanks
Thiago de Aquino Costa Sousa
Modifié(e) : Thiago de Aquino Costa Sousa le 5 Oct 2022
@Daniel Do you know how to overlap the series instead of summing then? If you see your bar graph it is summing your data series, and stacking them. I would like to have the same graph but with the time series overlapped to highlight the difference between the serires. Thank you.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by