Bonsoir,
J'ai un ensemble ordonné de string, disons
xs= arrayfun(@(t) sprintf('x%u',t),1:100,'uni',0);
et une fonction évaluée en ces strings, disons
Mon objectif est:
- associer les xticklabels xs aux ticks potentiels
- tout en laissant Matlab gérer le nombre de tick qu'il sélectionne lors du zoom, afin de ne pas afficher tous les labels par défaut.
Je m'explique avec un truc qui donne le rendu que j'attends, mais qui le perds lors d'un zoom:
1 2 3 4 5 6
|
plot(1:length(xs),fx,'k.');
xtk= get(gca,'xtick');
xtk(xtk<1)= [];
set(gca,'xtick',xtk);
set(gca,'xticklabel',xs(xtk)); % associer les labels aux ticks choisis par défaut par Matlab |
Lorque je zoom, Matlab rajoute des ticks, mais boucle sur le sous ensemble de labels que j'ai donné.
Comment puis-je faire pour:
- Donner tous les labels. J'imagine qu'il faut lui donner la liste complète.
1 2 3
|
set(gca,'xtick',1:length(xs));
set(gca,'xticklabel',xs); |
- Mais laisser Matlab sous-sampler les ticks comme il le ferait par défaut, sans perdre les labels correspondant
- Sans passer par un zoom- callback !
Des idées ?
Merci d'avance
Partager