I have a loop that gives a variable a different name:
EX
i = 1;
while i < 5
if i == 1
name = 'CRHS';
elseif i == 2
name ='ELLY';
elseif i == 3
name = 'LGWD';
elseif i ==4
name = 'ECFS';
elseif i ==5
name = 'THMS';
end
i = i + 1;
end
I want to plot a figure using the 'name' variable as the corresponding X tick. For example for tick 1, use 'CRHS', tick 2 use 'ELLY', etc.
How can I do this?

 Réponse acceptée

dpb
dpb le 9 Avr 2014
names = {'CRHS'; 'ELLY'; 'LGWD'; 'ECFS'; 'THMS'};
plot(...
set(gca,'xtick',[1:5],'xticklabel',names)
Set the tick values vector to appropriate numerical values dependent on the axis limits, of course. I just used the position values for demo porpoises...

9 commentaires

Sandy
Sandy le 9 Avr 2014
Perfect! Thank you!
S. Gopal
S. Gopal le 11 Mai 2018
Thanks...It really works... I was searching of such a function ..Thanks again
Oded Scharf
Oded Scharf le 30 Juin 2018
hey, how can I write the label vertically and not horizontaly? the ticks go on top of each other when they're horizontal.
thank you
dpb
dpb le 30 Juin 2018
Use the [X|Y]TickLabelRotation property.
Anna Stafford
Anna Stafford le 3 Fév 2020
Thanks so much!
Vijay
Vijay le 26 Mai 2020
How can I get each name that has more than one row? Something like...
'CRHS
Age-10yrs'
The expectation is that each string contains 2 or 3 pieces of information.
Thanks
dpb
dpb le 26 Mai 2020
Embed the newline '\n' in the string. Building with sprintf is often handy here.
Jack
Jack le 22 Juil 2021
Is there any way to label all the tics but dynamically display them? For example you label x points 1:10 but if the plot is sized down by the user, some of the labels dissapears to fit? Similar to the default functionality matlab has with automatic axis resizing
dpb
dpb le 22 Juil 2021
Once you write the tick labels manually you've broken the link between the tick marks and the tick labels; no automagic updating will happen after that.
You would have to write callback routines to handle the tick labels to go along with the ticks as wanted.

Connectez-vous pour commenter.

Plus de réponses (0)

Question posée :

le 9 Avr 2014

Commenté :

dpb
le 22 Juil 2021

Community Treasure Hunt

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

Start Hunting!

Translated by