# How can I rotate the axis tick labels in 2-D and 3-D?

27 views (last 30 days)
I would like to rotate the axis tick labels in 2-D and 3-D.

MathWorks Support Team on 5 May 2016
For MATLAB releases before R2014b, below is an example that demonstrates how to rotate the X-tick labels in MATLAB :

% Create some data:
X = 1:12;
Y = rand(1,12);
% Generate a plot
bar(X,Y);
% Set the tick locations and remove the labels
set(gca,'XTick',1:12,'XTickLabel','')
% Define the labels
lab = [{'January'};{'February'};{'March'};{'April'};{'May'};{'June'};...
{'July'};{'August'};{'September'};{'October'};...
{'November'};{'December'}];
% Estimate the location of the labels based on the position
% of the xlabel
hx = get(gca,'XLabel'); % Handle to xlabel
set(hx,'Units','data');
pos = get(hx,'Position');
y = pos(2);
% Place the new labels
for i = 1:size(lab,1)
t(i) = text(X(i),y,lab(i,:));
end
set(t,'Rotation',90,'HorizontalAlignment','right')
Following is a simple example of how to rotate an x-label in 3-D:

view(3)
xlabel('Hello');
h = get(gca,'xlabel');
set(h,'Rotation',20)
Alternatively, you can use this user created File Exchange submission that can perform the same task:
Please note that the above File Exchange file was not authored by MathWorks. Any questions regarding this file should be directed to the contributing author of that file.
NOTE: If you are working under the MS Windows version of MATLAB, you will need to make sure that you are using a Truetype font in your text objects. Truetype are the only fonts which can be rotated correctly on the screen and on printouts.
##### 2 CommentsShowHide 1 older comment
Liwei Dai on 4 Dec 2015
Have you tried out his code? Actually, it rotates the 'XTickLabel', check the loop part.

### More Answers (3)

daniel on 12 Feb 2015
if you have 2014b you can do this:
ax = gca;
ax.XTickLabelRotation = -45;
Anupam Parlikar on 2 Feb 2018
This is the most convenient solution here.

Alexey on 6 Jan 2016
Edited: MathWorks Support Team on 4 Nov 2021
or (I think starting with 2014) you can just do
ax.XTickLabelRotation=45;
as per docs

Abdullah Caliskan on 12 Apr 2016
Another way
List={'AAAAAAA','BBBBBBb','CCCCCCCC'}
bar(1:3 ,[0.5 0.3 0.2])
set(gca,'XTickLabel',List)
set(gca,'XTickLabelRotation',45)