How can I get a stacked bar graph with a single bar?
조회 수: 31 (최근 30일)
이전 댓글 표시
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.
댓글 수: 0
채택된 답변
Star Strider
2016년 7월 15일
One possibility for a workaround:
v = [0.2 0.8];
figure;
bar(sum(v), 'y')
hold on
bar(v(1), 'b')
hold off
댓글 수: 6
André Bigalke
2018년 6월 22일
편집: André Bigalke
2018년 6월 22일
Found a very good solution for big data: how-do-i-create-a-stacked-bar-plot-in-matlab-that-fix-certain-values-to-specific
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
2019년 1월 9일
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')
추가 답변 (1개)
Daniel
2020년 2월 11일
편집: Daniel
2020년 4월 27일
(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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/271092/image.jpeg)
댓글 수: 4
Michaela Konstantinou
2022년 4월 27일
Do you maybe know how to remove the margins from left anr right? Thanks
Thiago de Aquino Costa Sousa
2022년 10월 5일
편집: Thiago de Aquino Costa Sousa
2022년 10월 5일
@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.
참고 항목
카테고리
Help Center 및 File Exchange에서 Bar Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!