how to adjust bar width (absolute value)?

4 views (last 30 days)
Hello,
I am trying to plot using two different bar graphs in Matlab
figure(1)
bar(horizon1,data_2001(1:4,2),1,'b','FaceAlpha',0.6)
figure(2)
bar(horizon2,data_2002(1:5,2),1,'b','FaceAlpha',0.6)
I want to keep the width of each bar constant. However, I got something like below
The latter one has wider bar than the former one.
Is there any way I can keep the width consistent?
Thanks in advance.

Accepted Answer

the cyclist
the cyclist on 9 Sep 2021
Edited: the cyclist on 9 Sep 2021
I would point out that in one sense, your bars are the same width -- they both extend one unit (e.g. from 1.5 to 2.5). The reason their plotted width is different is that your x-axis extents are different.
So, one way to fix this would be to set the x-axis limits and xtick labels manually to be the same for both plots:
x1 = 1:5;
y1 = [100 800 1800 1700 200];
x2 = 1:4;
y2 = [200 1500 1400 400];
figure
bar(x1,y1,1,'b','FaceAlpha',0.6)
set(gca,'XLim',[0 6],'XTick',0:6)
figure
bar(x2,y2,1,'b','FaceAlpha',0.6)
set(gca,'XLim',[0 6],'XTick',0:6)

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!