How to plot 3 y axis or more in a single graph?

For example: I have to plot X=(1:1:50); Y1=sin(X); Y2=exp(X); Y3=(X).^2; For y-plot I want respective adjusted range of axis.

2 Comments

What do you mean? Do you mean you want to plot 3 lines in one figure?
I want 3 line in one graph but with 3 axis representing their respective line. For example for Y1 yaxis value range should of range between -1 to 1 but if i use exp(i.e. Y2) axis to represent Y1 then it may give straight line.

Sign in to comment.

 Accepted Answer

plot((1:5),randi(25,1,5),'r')
addaxis((1:5),randi(25,1,5),'g')
addaxis((1:5),randi(25,1,5),'m')
addaxis((1:5),randi(25,1,5),'y')
legend({'plot1','plot2','plot3','plot4'})

10 Comments

It's working, thank you.
Hi, I tried to use the above mentioned function from the files exchange. And tried to use it in the way Ankur has coded. However I am getting a few errors -
Error using matlab.graphics.axis.Axes/get
There is no colorord property on the Axes class.
Error in aa_splot (line 13) cord = get(gca,'colorord');
Error in addaxis (line 135) hplts = aa_splot(varargin{:});
I receive the same errors. Is there any way to just add some axes easily without going through 200 code lines and get exhausted?
replace all 'colorord' in aa_splot.m to 'ColorOrder' and it would work.
I already have changed the 'colorord' to 'ColorOrder', but I am getting still the following error:
Error in addaxis (line 112) hplt = plot(varargin{:});
I changed 'colorord' in aa_splot.m to 'ColorOrder' and it works well.
tks @Franziska Ba
how can I select whether the new axis goes to the left or right side of the plot?
This function has a major bug - when you pan around, only one of the axes (primary axis) updates. the others do not
Was anyone able to plot more than one curve for the nth axis?

Sign in to comment.

More Answers (2)

Jan
Jan on 13 Jan 2018
Edited: Jan on 13 Jan 2018

4 Comments

Yes, I mean this https://www.mathworks.com/matlabcentral/fileexchange/46688-jzplotys-zip . Is there any command like plotyy for two y-axes?
If that submission works for you, why not use it? Or is your question how to use that function?
Yes, I want to know how to use that function.
Jan
Jan on 14 Jan 2018
Edited: Jan on 14 Jan 2018
Simply download it and call it. The help section of this function explains the details. Or see the suggestion of ANKUR KUMAR.

Sign in to comment.

plot((1:5),randi(25,1,5),'r')
addaxis((1:5),randi(25,1,5),'g')
addaxis((1:5),randi(25,1,5),'m')
addaxis((1:5),randi(25,1,5),'y')
legend({'plot1','plot2','plot3','plot4'})

Categories

Tags

Community Treasure Hunt

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

Start Hunting!