Normalize XY coordinates to MATLAB figure window containing axis
https://github.com/StackOverflowMATLABchat/coordinate2normalized
You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
COORD2NORM(axishandle, x, y) takes input XY coordinates, relative to the axes object axishandle, and normalizes them to the parent container of axishandle. This is useful for functions like annotation, where the input XY coordinates are normalized to the parent container of the plotting axes object and not to the data being plotted. axishandle must be a valid MATLAB axes object (HG2) or handle (HG1).
COORD2NORM returns discrete arrays xnorm and ynorm of the same size as the input XY coordinate arrays.
Example:
myaxes = axes();
x = -10:10;
y = x.^2;
plot(x, y);
[normx, normy] = coord2norm(myaxes, [x(1) x(2)], [y(1) y(2)]);
annotation('arrow', normx, normy);
Also included is the helper function NORM2COORD which performs the reverse operation, mapping coordinates normalized to the parent container of axishandle to the data space of axishandle.
This function builds on existing FEX submissions with the inclusion of logarithmic plot support (loglog, semilogx, semilogy).
Cite As
sco1 (2026). coord2norm (https://github.com/StackOverflowMATLABchat/coordinate2normalized), GitHub. Retrieved .
Acknowledgements
Inspired by: Data space to figure units conversion, Normalized Coordinates for Annotations
General Information
- Version 1.0.0.0 (5.04 KB)
-
View License on GitHub
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
Versions that use the GitHub default branch cannot be downloaded
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 1.0.0.0 | Added attribution |
