Repeating sequence in xlabel

2 次查看(过去 30 天)
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

采纳的回答

Chunru
Chunru 2021-4-23
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 个评论
Santos García Rosado
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 个)

类别

Help CenterFile Exchange 中查找有关 Formatting and Annotation 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by