Create a plot with 2 left axes and 1 right axis

42 visualizzazioni (ultimi 30 giorni)
Heidi Hirsh
Heidi Hirsh il 21 Lug 2019
Risposto: DGM il 24 Dic 2021
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?

Risposte (2)

Sai Sri Pathuri
Sai Sri Pathuri il 24 Lug 2019
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 Commento
F S
F S il 24 Dic 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?

Accedi per commentare.


DGM
DGM il 24 Dic 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');

Categorie

Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by