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

12 vues (au cours des 30 derniers jours)
MathWorks Support Team
MathWorks Support Team le 18 Oct 2013
I would like to rotate the axis tick labels in 2-D and 3-D.

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 19 Mai 2023
Modifié(e) : MathWorks Support Team le 19 Mai 2023
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.
  1 commentaire
daniel
daniel le 4 Fév 2015
I think you are confusing "xlabel" with "XTickLabel" I believe the question is regarding the rotation of XTickLabels and not the Xlabel itself. I too am searching for a solution regarding the rotaion of XTickLabels but have yet to find one.

Connectez-vous pour commenter.

Plus de réponses (2)

daniel
daniel le 12 Fév 2015
if you have 2014b you can do this:
ax = gca;
ax.XTickLabelRotation = -45;

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

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by