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

Switch between vertical/horizontal/both axis zoom mode by moving the mouse above the figure.
Updated 3 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 (2024). Zoom mode (h-axis, y-axis or both axis) set by mouse position (https://www.mathworks.com/matlabcentral/fileexchange/62723-zoom-mode-h-axis-y-axis-or-both-axis-set-by-mouse-position), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2017a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Visual Exploration in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Improving perfomance
Improve description

Change Title

Refine mouse position condition.

Description improvement