2D Plot with 3 axis

hey i was wondering if somebody knows how to make a 2D plot with 3 axis...with that i mean a normal 2D plot that has two y axis (i.e. the left and right y axis have different scales) and one x-axis?
thanks for youre help
david

Answers (3)

Wayne King
Wayne King on 13 May 2012
Have you seen plotyy?
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
david scholz
david scholz on 13 May 2012

0 votes

hey wayne
no i hadnt, thanks alot!
ds
Ferran Guedea I Ripoll
Ferran Guedea I Ripoll on 24 Apr 2015

0 votes

I have created a 2D plot with 3 axis thanks to the plotyy command. Now I want to reformat all 3 axis: max, min limits and ticks for the axis. For the x axis and y principal axis I have been able with the basic commands but not for the 2nd Y axis. Any idea? Thank you in advance -Ferran

3 Comments

When you call the plotyy function, you can include output arguments. From the answer above:
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot'); %include output arguments
You can use these handles to change the properties of the plot eg:
%sets Y limits for axis 1 (left axis) to -300 and 400
%and automatically spaces ticks
set(AX(1),'YLim',[-300 400],'YTickMode','auto')
%sets Y limits for axis 1 (left axis) to -300 and 400
%and automatically spaces ticks
set(AX(2),'YLim',[-1 1],'YTickMode','auto')
There are many different features you can change for the two axes (AX) and the two plots (H1 & H2). The full list of options can be seen using:
%get list of features for AX(1) - left axis
get(AX(1))
How to add label for third axis in Plotyy
yyaxis right;
ylabel ('axis-3 label')

Sign in to comment.

Asked:

on 13 May 2012

Commented:

on 19 Dec 2020

Community Treasure Hunt

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

Start Hunting!