Trying to plot more than two graphs with two different scales onto a single plot

9 次查看(过去 30 天)
I would like to show the graphs of several signals from a group and a reference signal which has a completely different scale. I can use;
[ax,p1,p2]=plotyy(load(:,1),load(:,2),data(:,1),data(:,2))
the commonality between load and data is time
so, ylabel(ax(2),'Hits') ylabel(ax(1),'Displacement (in)') xlabel(ax(2),'Time (sec)')
and it works at showing two plots with two scales but I want to show more than these two plots but with the same two scales. It would greatly help reduce the number of graphs in my report and make more sense as a reader.
Any suggestions?
Thanks for your help

采纳的回答

Joseph Cheng
Joseph Cheng 2015-3-2
you can use hold on to keep adding to these plots
x = 1:10 %time
for i =1:3
y(i,:)=1*x+i;
z(i,:)=2*x.^2+100+i;
end
[ax h1 h2]=plotyy(x,y(1,:),x,z(1,:));
ylabel(ax(2),'Hits');
ylabel(ax(1),'Displacement (in)');
xlabel(ax(2),'Time (sec)')
hold(ax(1),'on');
hold(ax(2),'on');
plot(ax(1),x,y(2,:))
plot(ax(2),x,z(2,:))
plot(ax(1),x,y(3,:))
plot(ax(2),x,z(3,:))
not the cleanest example but it shows how to add to existing and when run that everything stacks appropriately.

更多回答(1 个)

ALEX
ALEX 2015-3-2
Very interesting...my likey
I didn't realize you could plot multiple plots that way. This is game changer for me.
Thanks for your help!

类别

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