When I drag the image, how can I make both the left and right Y-axis move?

2 views (last 30 days)
x = 1:10;
y1 = sin(x);
y2 = cos(x);
yyaxis left;
plot(x, y1, 'b-');
yyaxis right;
plot(x, y2, 'r-');
linkaxes

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 2 Dec 2023
Edited: Dyuman Joshi on 2 Dec 2023
Here's an approach with adding another axis to the same tiled chart object and changing the y-axis location for the 2nd axes to right.
t = tiledlayout(1,1);
ax1 = axes(t);
x = 1:10;
y1 = sin(x);
y2 = cos(x);
plot(ax1, x, y1, 'b-');
ax2 = axes(t);
plot(ax2, x, y2, 'r-');
ax2.Color = 'none';
ax2.YAxisLocation = 'right';
%optional
%ax2.XAxis.Visible = 'off';
ax1.Box = 'off';
ax2.Box = 'off';
linkaxes([ax1 ax2])

More Answers (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 3 Dec 2023
One good solution is to download and use these functions created: https://www.mathworks.com/matlabcentral/fileexchange/102945-yyaxis-tools
x = 1:10;
y1 = sin(x);
y2 = cos(x);
figure;
yyaxis left;
plot(x, y1, 'b-');
yyaxis right;
plot(x, y2, 'r-');
yyaxtoolbar % Should be downloaded along with other three fcn files and put in your current MATLAB directory

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!