File Exchange

image thumbnail


version (24.9 KB) by Sebastian Roehn
Scroll a zoomed axes in x/y direction related to full view


Updated 15 Mar 2016

View License

The function zoomOrientation reduces width and height of an axes and adds two new axes, xOrientation and yOrientation plus xSlider and ySlider. You can either use the mouse wheel to zoom in/out or the mouse buttons left-click for zoom in and right-click for zoom out or the keys arrow up/down. Use the sliders to move the zoom area in x/y direction related to the plot data full view. The function uses only those plot data whose visibility is set to on. If no line handle
is visible, it makes the last added plot data visible.
Supports the following Line Plots: plot, semilogx, semilogy, loglog

Function Inputs:
axh = axes handle
state = on/off/update

Examples how to use zoomOrientation:
>> figure(1)
>> plot(1:100,randn(1,100))
>> zoomOrientation(gca,'on')

If zoomOrientation is already on and the plot data of the main axes has changed, update zoomOrientation with
>> zoomOrientation(gca,'update')

Close function and restore original axes settings
>> zoomOrientation(gca,'off')

Known issues:
If axes parent is a figure or uipanel, zooming on xOrientation and yOrientation
axes is still possible, although their properties HitTest and PickableParts are
set to off/none. Works fine with a uitab parent object!

see bottom of the page

Inspired by Yair Altman's scrollplot function.

Cite As

Sebastian Roehn (2020). zoomOrientation(axh,state) (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)


Awesome tool. Makes scrolling through data really easy! Thank you


Changelog v1.1:
- disabled initial zoom factor
- bugfix if function was called with state off or update but the function was not started before
- use plot data only whose visibility is set to on

add screenshot

Update description

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: ScrollPlot - scrollable X/Y axes