File Exchange

image thumbnail

XYrotalabel - rotate X-axis and Y-axis labels

version (5.46 KB) by David Powers
Very simple reliable script giving simple control over label rotation with higher stability


Updated 12 Jan 2016

View License

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].

Cite As

David Powers (2020). XYrotalabel - rotate X-axis and Y-axis labels (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (5)

Haijun Peng

This is really helpful.


pretty kewl does what it says it does, GOLDEN!!


Wow! Easy. I wanted the X axis labels rotated 45°. Simply called XYrotalabel(45,0) and it's done. Thanks!


enhanced documentation on multilabel rotation and offset control

acknowledge earlier partial solutions I looked at

minor changes to text, fixing formatting

Added [Ang X Y] option to specify an [X Y] adjustment of the corresponding axis labels.

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.

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