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?

 Akzeptierte Antwort

dpb
dpb am 9 Apr. 2014

23 Stimmen

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 Kommentare

Sandy
Sandy am 9 Apr. 2014
Perfect! Thank you!
S. Gopal
S. Gopal am 11 Mai 2018
Thanks...It really works... I was searching of such a function ..Thanks again
Oded Scharf
Oded Scharf am 30 Jun. 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 am 30 Jun. 2018
Use the [X|Y]TickLabelRotation property.
Anna Stafford
Anna Stafford am 3 Feb. 2020
Thanks so much!
Vijay
Vijay am 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 am 26 Mai 2020
Embed the newline '\n' in the string. Building with sprintf is often handy here.
Jack
Jack am 22 Jul. 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 am 22 Jul. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

am 9 Apr. 2014

Kommentiert:

dpb
am 22 Jul. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by