string for x label in a plot
217 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I have 15 values for x label but they are not consecutive values. for exampl they are bitrate values from 100 kb to 900 kb and 1 mb to 6 mb. but I do not know how can I put them in x axis. I have to put
x=1:15
to have 15 values in x axis. another problem is in x axis we only have numbers such as 0, 5,10 and 15 but I want to have all values in x axis. could you please help me with this issue:? my realese is R2016a. thanks.
0 Kommentare
Antworten (4)
DGM
am 31 Mai 2022
You can make the tick labels whatever you want. They don't have to be a literal label of the tick locations.
x = 1:10;
y = sin(x);
xtlbls = {'cat' 'dog' 'tree' 'fruit' '10.413' '⅄∃H' 'red' 'blue' 'words' 'numbers'};
plot(x,y);
xticks(x) % define tick locations explicitly
xticklabels(xtlbls) % define tick labels
4 Kommentare
DGM
am 31 Mai 2022
Oof. I knew it was R2016b, but I misread the version OP was using.
You can always use set() to set the 'xtick' and 'xticklabel' property of the current axes.
Star Strider
am 31 Mai 2022
Bearbeitet: Star Strider
am 31 Mai 2022
Try this —
figure
plot((1:15), sin((1:15)/2.5))
xtl = [(1:9)*1E8 (1:6)*1E9];
set(gca, 'XTick',(1:15), 'XTickLabel',xtl)
EDIT — (31 May 2022 at 15:11)
Added x-tick labels to match units in the original post.
EDIT — (31 May 2022 at 18:08)
Another option for the labels:
xtl = [sprintfc('%3d kb',(1:9)*100) sprintfc('%d mb',1:6)]
figure
plot((1:15), sin((1:15)/2.5))
xtl = [sprintfc('%3d kb',(1:9)*100) sprintfc('%d mb',1:6)];
set(gca, 'XTick',(1:15), 'XTickLabel',xtl)
.
0 Kommentare
Jan
am 31 Mai 2022
Bearbeitet: Jan
am 31 Mai 2022
It is not really clear, what you are asking for. But you can set the XTicks and the corresponding lables freely.
x = 1:15;
y = rand(1, 15);
axes('XTick', 1:15, 'XLim', [1, 15], 'XTickLabel', ...
{'A', 'b', '17', '5', 'D', 'now', 'then', '9', '-pi', '10', ...
'11', '12', '-', '14', 'ready'}, ...
'NextPlot', 'add');
plot(x, y);
0 Kommentare
Walter Roberson
am 31 Mai 2022
xticks(1:15)
Lab = [(1:9) + "kb", (1:6) + "mb"]
xticklabels(Lab)
Are you sure that you want linear 1:15 x, but 1:9 vs 10:15 is at different scales? The entry for x=11 is not 2 units more than the entry for x=9, and that is going to lead to misleading plots.
4 Kommentare
Walter Roberson
am 31 Mai 2022
Bearbeitet: Walter Roberson
am 31 Mai 2022
xticks as a function was introduced in the release immediately after the one you have. In your release
set(gca, 'Xtick', 1:15)
set(gca, 'XTickLabel', Lab)
Siehe auch
Kategorien
Mehr zu Polar Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!