Hello,
I'm trying to repeat a sequence on the xlabel of the figure I've attached.
Since I'm plotting a vector that has 160 values, the xlabel goes from 1 to 160 as you can see on the figure. But I'd like the xlabel to display a sequence going from 1 to 20 8 times. (8*20 = 160). This is the code I'm using to plot the figure
plot((1:(numel(InputVect))),InputVect*100, 'linewidth', 2);
title('MyFig', 'FontName', 'Cambria', 'FontSize', 13);
xlabel('X', 'FontName', 'Cambria','FontSize', 13);
ylabel('Y', 'FontName', 'Cambria','FontSize', 13);
I've been trying to work around a way using set(gca,'xticklabel',) but I haven't managed a result so far.
Could someone please help me out?
Thank you,
Santos

 采纳的回答

a = gca;
a.XTick = (1:160); % (0:5:160)
a.XTickLabel = string(mod(0:159, 20)+1); % mod(0:5:160, 20)
This repeats the label 1:20 for 8 times. However, there are two many labels to show and you may want to adjust the interval. For example, you can try the values in the comments above.

1 个评论

Thank you @Chunru. You're right, there are way to many labels to show. I'll try different values and see which fit better. Thank's!

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Axis Labels 的更多信息

产品

版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by