Pan a Plotted Curve with a Stationary Plot Behind

1 次查看(过去 30 天)
figure;
X = rand(100,1);
Y = rand(100,1);
plot(X,Y);
hold on;
plot(X,sin(Y));
I want to be able to pan the sine curve ONLY. The sine curve can move around the plot but the first plot remain STATIONARY behind.
I wanna do this because I need to just merely compare the shape of the sine curve to the plot behind.
I remember I used to do this before using plotyy or something but I forgot how I achieved that. Anyone has any idea?
Many thanks! =D

采纳的回答

Daniel Shub
Daniel Shub 2011-10-19
I cannot get it to easily work with plotyy, but I think with some work you could. That said, I am not sure there is a real advantage.
X = rand(100,1);
Y = rand(100,1);
minX = min(X);
maxX = max(X);
minY = max([min(Y), min(sin(Y))]);
maxY = max([max(Y), max(sin(Y))]);
figure;
hax(1) = axes;
plot(X, Y, 'b');
axis([minX, maxX, minY, maxY]);
hax(2) = axes;
plot(X, sin(Y), 'r');
axis([minX, maxX, minY, maxY]);
h = pan;
setAllowAxesPan(h, hax(1), false);
set(hax(2), 'Visible', 'Off');
  1 个评论
Harry MacDowel
Harry MacDowel 2011-10-19
Nice work Daniel! Last time I guess I can achieve that trick because I was working with axes in GUI and I return the figure handle to the GUI window. Somehow.
But seriously, thank you! +1 vote

请先登录,再进行评论。

更多回答(0 个)

类别

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