How do I add both zoom and pan ability using mouse to a plot?

17 次查看(过去 30 天)
I have been trying to add both zoom and pan ability to a plot using the mouse scroll wheel and the drag to pan functionality. The area is a map and I would like the same kind of control as in Google Maps etc. I can achieve these functionalities separately with, e.g. the following code.
plot([0 10], [2 8]);
zoom on;
%pan on;
When I try to add both these, i.e. remove the comment, it fails and simply leaves me with the last specified functionality.
I tried to add the respective functionality on scroll wheel and click callbacks,
set(gcf,'WindowScrollWheelFcn', @scrollCb);
set(gcf,'WindowButtonDownFcn', @panCb);
where scrollCb is defined as
function scrollCb(obj, evnt)
zoom on;
display('zoom on');
and panCb with the corresponding code. This does not work and adding a new function callback within the function didn't work either.
Does anyone have a solution to this?
  1 个评论
Adam
Adam 2016-5-18
As far as I am aware the built-in pan and zoom modes are mutually exclusive. In essence though they just change the xlim and ylim properties of your image so you could program your own non-mutually exclusive versions attached to your callbacks.

请先登录,再进行评论。

回答(1 个)

Simon T
Simon T 2019-11-2

类别

Help CenterFile Exchange 中查找有关 Visual Exploration 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by