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 (2019). 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 .
1.3.0.0 | enhanced documentation on multilabel rotation and offset control |
|
1.3.0.0 | acknowledge earlier partial solutions I looked at |
|
1.3.0.0 | minor changes to text, fixing formatting |
|
1.3.0.0 | Added [Ang X Y] option to specify an [X Y] adjustment of the corresponding axis labels. |
|
1.2.0.0 | cleaned up noisy running by adding a couple of ';' |
|
1.1.0.0 | added two different angle capability and improved behaviour for angles other than 45, including 0 and 90. |
Inspired by: XTICKLABEL_ROTATE90, XTICKLABEL_ROTATE, Rotate Tick Label, Rotate XTick Labels for multi-axes, yticklabel_rotate, rotateXLabels( ax, angle, varargin ) , rotateXLabels
Create scripts with code, output, and formatted text in a single executable document.
Haijun Peng (view profile)
This is really helpful.
Farzad Samie (view profile)
daniel (view profile)
pretty kewl does what it says it does, GOLDEN!!
KoenV (view profile)
Canoe Commuter (view profile)
Wow! Easy. I wanted the X axis labels rotated 45°. Simply called XYrotalabel(45,0) and it's done. Thanks!