Create a plot with 2 left axes and 1 right axis

Hi!
I want to plot three datasets on top of each other (same plot not subplots). Each has its own units so I want to have two different axes/scales on the left side and one on the right. I know how to plot double axes with yyaxis left and yyaxis right. Can I do two yyaxis left lines or something?

Antworten (2)

Sai Sri Pathuri
Sai Sri Pathuri am 24 Jul. 2019

0 Stimmen

To plot three datasets on top of each other, set hold command to ON after creating axes object.
axes;
hold on;
The axes command creates an axes object with y-axis on the left by default. Then a yyaxis left and yyaxis right can be used to create another y-axis on left and a y-axis on right respectively.
For more information, refer the following link for documentation:

1 Kommentar

F S
F S am 24 Dez. 2021
Your link only shows how to create a plot with two yaxis, one on the left and one on the right respectively. So does your example. The question asked how to create a plot with three yaxis in the same axes.
Is there a way to plot three yaxis into the same axis, e.g. with ticks going in and out on the side with two yaxis?

Melden Sie sich an, um zu kommentieren.

DGM
DGM am 24 Dez. 2021
I don't know how it would be done with yyaxis (if possible)
There are a number of old tools on the File Exchange that still work.
https://www.mathworks.com/matlabcentral/fileexchange/9016-addaxis (aa_splot.m needs edited; see FEX comments)
and you can search for others.
x = 1:10;
y1 = x;
y2 = x*10 + 2*rand(1,10);
y3 = x/10 + rand(1,10);
% using plotyyy()
plotyyy(x,y1,x,y2,x,y3,{'this one','that one','the other one'});
% using addaxis()
figure
plot(x,y1);
addaxis(x,y2);
addaxis(x,y3);
addaxislabel(1,'this one');
addaxislabel(2,'that one');
addaxislabel(3,'the other one');

Kategorien

Mehr zu Line Plots finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 21 Jul. 2019

Beantwortet:

DGM
am 24 Dez. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by