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

1 次查看(过去 30 天)
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!

回答(2 个)

Jan
Jan 2012-4-11
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 2012-4-11
h = plotyy(A, features, C, features);
hold(h(1),'all');
plot(h(1), B, features);
  1 个评论
Walter Roberson
Walter Roberson 2012-4-11
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Two y-axis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by