File Exchange

image thumbnail

Zoom mode (h-axis, y-axis or both axis) set by mouse position

version (1.85 KB) by Thibaut Jacqmin
Switch between vertical/horizontal/both axis zoom mode by moving the mouse above the figure.


Updated 03 May 2017

View License

In a matlab figure, in order to switch between vertical axis zooming and horizontal axis zooming, the user must click on Tools/Option/..., or right-click on the figure and to chose the zoom mode, which can be painful if one needs to switch between zooming modes very often. This function solves this issue by changing the zooming mode depending on the mouse position. If the mouse is over the vertical/horizontal axis the vertical/horizontal axis zoom is activated. If the mouse is in the center of the plot, both axis are activated.
The function takes a figure as input arguments. This figure must have axes already before calling the function. Also, the Units property of both the figure and its axes should be the same.
Example of use:

f = figure;
a = axes(f);
a.Units = f.Units;

Then click on the zoom icon, and move the mouse over the vertical/horizontal axis, and
over the center of the plot. You will see the zooming mode change automatically. Zoom with the mouse wheel.

Cite As

Thibaut Jacqmin (2020). Zoom mode (h-axis, y-axis or both axis) set by mouse position (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)

max max


Improve description

Improving perfomance

Change Title

Refine mouse position condition.

Description improvement

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