bar chart 2 data sets side by side with different axis
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
hold on;
yyaxis left
bar(T3_blocked)
yyaxis right
bar(S1_free)
set(gca, 'XTickLabel',name)
set(gca, 'XTick',1:length(name))
set(gca, 'XTickLabelRotation',45)
hold off;
produces:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/878020/image.png)
how can I have the two bars for each material side by side, so the y-axes are both increasing in the same direction (up)?
0 Kommentare
Akzeptierte Antwort
Voss
am 29 Jan. 2022
Bearbeitet: Voss
am 29 Jan. 2022
You can do that by using abs(S1_free) and specifying the locations and widths of the bars:
T3_blocked = [2 1.95 1.5 0.1 1.4]*1e-7;
S1_free = -[1.4 1.4 1 2.9 2]*1e-4;
name = strcat('PZT-',num2cell('A':'E'));
n = numel(name);
hold on;
yyaxis left
bar((1:n)-0.2,T3_blocked,0.4); % locations, heights, width
yyaxis right
bar((1:n)+0.2,abs(S1_free),0.4); % locations, heights, width
set(gca, 'XTickLabel',name)
set(gca, 'XTick',1:length(name))
set(gca, 'XTickLabelRotation',45)
hold off;
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Spreadsheets finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!