Plot two lines with a left y axis and one with a right y axis

2 views (last 30 days)
I am trying to plot three lines, A, B, and C. A and B have the same scale and the y-axis is on the left. C has a very different scale and the y-axis needs to be on the left. How do I do this?
This is what I have tried:
I can use plotyy because it only allows 2 plots, one for each axis.
I also tried:
plot(A, features...)
hold all;
plotyy(B,C,features...)
where features are the color, line thickness, etc. This just plotted plotyy on top of the orginal plot but messed up all the features from A and I still could not figure out how to change the features in plotyy.
Thank you!

Answers (2)

Jan
Jan on 11 Apr 2012
Perhaps something like this:
x = linspace(0,2*pi, 20);
y1 = cat(1, sin(x1), cos(x1));
y2 = x .^ 3;
plotyy(x,y1, x,y2);
If this does not match your needs, use the AXES handles replied by plotyy as 'Parent' property for the next plot or line command.

Walter Roberson
Walter Roberson on 11 Apr 2012
h = plotyy(A, features, C, features);
hold(h(1),'all');
plot(h(1), B, features);
  1 Comment
Walter Roberson
Walter Roberson on 11 Apr 2012
Note: this is the same solution as using the Parent property. Passing an axes as the first parameter to plot is the same as using that axes as a 'Parent' parameter.

Sign in to comment.

Categories

Find more on Two y-axis in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!