Clear Filters
Clear Filters

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

17 views (last 30 days)
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 Comment
Adam
Adam on 18 May 2016
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.

Sign in to comment.

Answers (1)

Simon T
Simon T on 2 Nov 2019

Categories

Find more on Visual Exploration in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!