Repeating sequence in xlabel

3 vues (au cours des 30 derniers jours)
Santos García Rosado
Santos García Rosado le 23 Avr 2021
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

Réponse acceptée

Chunru
Chunru le 23 Avr 2021
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 commentaire
Santos García Rosado
Santos García Rosado le 23 Avr 2021
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!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by