XYrotalabel - rotate X-axis and Y-axis labels
Updated 12 Jan 2016
This function was written to allow rotation of both X and Y labels without making tricky guesswork about how to rescale the image, as well as address the general lack of robustness of existing alternatives downloaded.
It works on full figures and subplots, and more control over scaling can be obtained by using subplot in combination with XYrotalabel.
It assumes axes are bottom and left and aligns the rotated text to them, but it can also cope with reversed axes, as for example images.
If run without arguments it will rotate the labels on the current figure or subplot by 45°.
If one angle is given it is used for both X and Y labels, if two angles it will rotate labels on both X and Y axes independently. Tweaking is possible by shifting the rotated tick label by ‰. This is required when you rotate angles outside of [0,90]. Normally such rotation requires an offset comparable to the difference from 0 in [-90,0) or 180 in (90,180].
David Powers (2023). XYrotalabel - rotate X-axis and Y-axis labels (https://www.mathworks.com/matlabcentral/fileexchange/45663-xyrotalabel-rotate-x-axis-and-y-axis-labels), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: XTICKLABEL_ROTATE90, XTICKLABEL_ROTATE, Rotate Tick Label, Rotate XTick Labels for multi-axes, yticklabel_rotate, rotateXLabels( ax, angle, varargin ) , rotateXLabels
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
acknowledge earlier partial solutions I looked at
cleaned up noisy running by adding a couple of ';'
added two different angle capability and improved behaviour for angles other than 45, including 0 and 90.