File Exchange

image thumbnail

Linked Pan and Zoom

version 1.21 (6.59 KB) by

Pans and zooms multiple axes on the same figure, with full control of axes linking.



View License

Pan with left click mouse drag, draw a zoombox with right click drag, and view all data with double-click. This also retains any existing WindowButtonXFcn the figure has, as well as any axes UIContextMenus.
I wrote this for live data capture, as linkaxes sets XLimMode to "manual" - which means the axes wouldn't automatically resize for new data.
panzoom(figureHandle, axesHandles)
Adds the functionality to that figure, ONLY to the axes handles specified.
panzoom(figureHandle, axesHandles, xLink)
panzoom(figureHandle, axesHandles, xLink, yLink)
Assuming you have four axes handles: 1, 2, 3, 4. You could link all of the x axes together: xLink = [1, 2, 3, 4], or you could link them in pairs in a cell array: xLink = {[1, 2], [3, 4]}. The same applies for yLink. xLink or yLink can also be empty.

Comments and Ratings (1)


Joseph (view profile)

This did not work for me.

First, in line 110, I believe there is an error 'oget' should be 'get'.

After I changed that, I received the following error, it could not find the referenced function 'getposition':

??? Undefined function or method 'getposition' for input arguments of type 'double'.

Error in ==> panzoom>windowButtonDownFcn at 152
axesPositions = getposition(axesHandles, 'pixels');

??? Error while evaluating figure WindowButtonDownFcn



Bugfix for compatibility with later MATLAB versions (post-HG2)


Fixed getposition so it works properly with the new handle graphics system. Have not tested the other components yet.


Fixed the "oget" error, and added back in a dependency for the helper function "getposition" (yes I know, very sloppy).

MATLAB Release
MATLAB 7.1.0 (R14SP3)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today