Actuellement, lorsque je trace un réseau de 9 sur 6, l'axe des x de la figure n'est que 1, 2, 3 jusqu'à 9. L'axe de Y montre les valeurs correctes.
Au lieu de 1 à 9, je voudrais que les valeurs de l'axe des x soient personnalisées. Ils devraient être
100 200 400 1000 2000 5000 10000 20000 50000
au lieu. J'ai essayé
set(gca,'XTick', [100 200 400 1000 2000 5000 10000 20000 50000])
Mais ce n'est pas la bonne façon de le faire. Y a-t-il une option Matlab
pour avoir ces valeurs personnalisées pour l'axe X? Pourquoi Matlab
simplement en utilisant 1 à 9 quand même?
Vous devriez utiliser xticklabel au lieu de XTick
.
MATLAB parcourt chaque colonne en tant que courbe séparée. Donc, cela signifie que vous avez 6 courbes et 9 points de données pour chaque courbe. Les données de l'axe X sont 1 à 9 parce que vous n'avez fournies aucune donnée pour Matlab pour tracer avec.
De plus, vous voulez probablement la mauvaise chose. Faire cela vous donnera un espacement égal. Il suffit de remplacer 1-9 avec votre tableau. Étant donné que vos données de l'axe X ne sont pas aussi espacées, ce sera bizarre.
Vous voudrez peut-être le faire comme ceci:
xdat = [100 200 400 1000 2000 5000 10000 20000 50000];
ydat = Rand(9,6); % Your y-axis data
plot(xdat, ydat)
Si vous souhaitez conserver des distances entre les valeurs X (par exemple 1: 9) et ne modifiez que les étiquettes (pas les distances entre les valeurs X), essayez ceci:
y = Rand(9,6);
labels = [100 200 400 1000 2000 5000 10000 20000 50000];
plot(y);
set(gca, 'XTick', 1:length(labels)); % Change x-axis ticks
set(gca, 'XTickLabel', labels); % Change x-axis ticks labels.
Essayer d'utiliser
x = [100 200 400 1000 2000 5000 10000 20000 50000];
y = Rand(9,6); % Your y-axis data
plot(x, y);
set(gca,'XTick',x); % Change x-axis ticks
set(gca,'XTickLabel',x); % Change x-axis ticks labels to desired values.
Veuillez noter qu'en raison des valeurs/magnitudes très différentes d'utiliser UN X-AXIS, vous pouvez obtenir des étiquettes X très proches (et illisibles).