Bar graph grouped with two y axis
103 views (last 30 days)
Show older comments
% clc
% clear all
x = categorical({'Filament'; 'Model'});
%y = [0.415047 0.11398; 0.41697 0.013588];
y = [0.415047; 0.41697];
z = [0.11398,0.013588];
bar (x,y,'grouped')
hold on
yyaxis right
%ylim([0.35, 0.45]);
ylabel('Weight (g)');
%err = [0.002542, 0.002192];
%errorbar(A, y, err, '- .', 'MarkerSize', 8)
yyaxis left
%ylim([0, 0.15]);
ylabel('Mass reduction (%)');
%err = [0.003711,0.001355];
%errorbar(A, z, err, '- .', 'MarkerSize', 8)
bar (x,z,'grouped')
hold on
Trying to get a bar graph that share same axis and have two y axis. Tried 'grouped' function but still come out as a stacked bar graph.
1 Comment
Adam Danz
on 6 Dec 2021
I've formatted your code and produced the resultant figure using the Run feature. What would you like to change about this figure?
Accepted Answer
Dave B
on 6 Dec 2021
Edited: Dave B
on 6 Dec 2021
bar graphs don't collaborate between sides of a yyaxis very well, but you can fake it by padding with zeros:
x = categorical({'Filament'; 'Model'});
y = [0.415047; 0.41697];
z = [0.11398; 0.013588];
nil = [0; 0];
bar(x, [y nil], 'grouped')
ylabel('Mass reduction (%)');
yyaxis right
bar(x, [nil z], 'grouped')
ylabel('Weight (g)');
9 Comments
More Answers (0)
See Also
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!