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
.
Example:
myaxes = axes(); x = -10:10; y = x.^2; plot(x, y); normx = [0.5, 0.55]; normy = [0.5, 0.55]; annotation('arrow', normx, normy); hold on; [coordx, coordy] = norm2coord(myaxes, normx, normy); plot(coordx, coordy, 'or')