Smaller values not seen in bar graph

Hi, I want to show boundaries of two variables in bar graph. However, when I add second variable to bar graph, smaller value of first value disappear in bar graph (such as y=7, y=8). I didnt find way to make it appears.
X=[5 4 3];
Y=[1 7 8];
bar(X)
hold on
bar(Y)

 Accepted Answer

X=[5 4 3];
Y=[1 7 8];
bar([X; Y]')
figure
bar(X)
hold on
bar(Y, 'FaceAlpha', .5); % transparency
figure
XMin = min(X, Y)';
XMax = max(X, Y)';
bar([XMin, XMax-XMin], 'stacked')
% Idea solution: Plot each bar individually
n = numel(X);
figure; hold on
for i=1:n
if X(i)>Y(i)
bar(i, X(i), 'r');
bar(i, Y(i), 'b');
else
bar(i, Y(i), 'b');
bar(i, X(i), 'r');
end
end

4 Comments

Thanks dear Chunru, second bar shows boundaries nicely, but only problem is colurs are different
The transparency make the overlapping colors different. Another non ideal solution is given above.
See the updated for an ideal solution.
Oh. The last solution worked perfectly!. Thanks a lot for the help.

Sign in to comment.

More Answers (1)

You can go ahead like this right?
X=[5 4 3];
Y=[1 7 8];
x = 1:3 ;
bar(x,[X;Y])
Or you can try:
bar([X' Y'],'stacked')

1 Comment

Unfortunately, I dont want them like first way because i will draw line graph too. The graph will be sophisticated. Second graph adds y to x. I dont want summation.

Sign in to comment.

Categories

Find more on Graph and Network Algorithms in Help Center and File Exchange

Asked:

on 6 Dec 2021

Edited:

on 6 Dec 2021

Community Treasure Hunt

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

Start Hunting!