Je veux utiliser un mot comme, disons, 'A', 'B' et 'C' sur l'axe X pour montrer leurs propriétés correspondantes sur l'axe Y. Comment puis-je écrire ces chaînes sur l'axe X au lieu de données numériques?Comment utiliser la chaîne comme donnée pour le traçage dans Matlab?
Répondre
'XTick'
utilisation et 'XTickLabel'
propriétés des axes manipuler.
Voici un exemple simple:
x = 1:5;
y = rand(size(x));
plot(x, y, 'b')
set(gca, 'XTick',1:5, 'XTickLabel',{'A' 'B' 'C' 'D' 'E'})
Configurez vous-même une cellule avec vos lettres (libellés appelés par les miens), puis utilisez la propriété XTick pour définir le même nombre de graduations sur l'axe des x que votre numéro d'étiquette. Enfin, la propriété XTickLabel écrira vos étiquettes sur l'axe x.
x = yourXdata;
y = yourYdata;
labels = {'A' 'B' 'C'};
plot(x, y);
set(gca, 'XTick', 1:3, 'XTickLabel', labels);
Vous pouvez aussi le faire en utilisant l'interface graphique.
1) Cliquez sur les axes de la figure pour ouvrir l'éditeur de propriétés Axes.
2) Cliquez sur le bouton "Plus de propriétés" sur le côté droit de la fenêtre. Cela ouvrira la fenêtre de l'inspecteur des axes.
3) Cliquez sur le petit bouton à côté de la propriété "XTickLabel" pour ouvrir la boîte de dialogue comme indiqué ci-dessous.
4) Entrez les étiquettes que vous voulez et cliquez sur "OK". Comment utiliser les valeurs CHARACTER à la place des valeurs numériques dans l'axe X. Comment utiliser les valeurs CHARACTER à la place des valeurs numériques dans l'axe X.
pour étiqueter x comme T1 T2 T3 T4 utilisez simplement ceci: ensemble (gca, 'XTick', 1: 4, 'XTickLabel', {'T1', 'T2', 'T3', 'T4'}, 'FontSize ', 15)
Cette commande peut être utilisée après la commande plot suivie par les commandes xlabel et ylabel, legand. vous pouvez également ajuster la taille de la police.
Exemple pratique:
%% 50% Day
T1wSI=[54.17 115];
T2wSI=[53.5 112];
T3wSI=[52.2 110];
T4wSI=[51.2 108];
T1oSI=[50.25 94];
T2oSI=[49.18 92];
T3oSI=[48.2 90];
T4oSI=[46.1 84];
table1=[T1wSI;T2wSI;T3wSI;T4wSI;T1oSI;T2oSI;T3oSI;T4oSI ];
season2012=table1(:,1);
season2013=table1(:,2);
Tr1=[1 2 3 4];
Treatment1 =['T1wSI' 'T2wSI' 'T3wSI' 'T4wSI' 'T1oSI' 'T2oSI' 'T3oSI' 'T4oSI'];
%Tre1=['T1' 'T2' 'T3' 'T4'];
%set(gca,'FontSize',14)
figure(1)
set(gca,'XTick',1:4,'XTickLabel',{'T1', 'T2', 'T3', 'T4'},'FontSize',14)
plot(Tr1,table1(1:4,1),'--bs','LineWidth',3);% 2012
hold on;
plot(Tr1,table1(1:4,2),'-go','LineWidth',3);% 2013
plot(Tr1,table1(5:8,1),'--r*','LineWidth',3); % 2012
plot(Tr1,table1(5:8,2),'-m^','LineWidth',3);% 2013
set(gca,'XTick',1:4,'XTickLabel',{'T1', 'T2', 'T3', 'T4'},'FontSize',15)
xlim=[1 5];
xlabel('Treatments')
ylabel('Days to 50 % Flowering')
legend('With -Season 2012','Without -Season 2013','With -Season 2012','Without - Season 2013','Location','NorthEast');
Grande réponse. Avez-vous des pointeurs pour que les éléments de la cellule soient interprétés par l'interpréteur LaTeX? Alors que cela rend le symbole correctement: 'set (gca, 'XTick', 1: 5, 'XTickLabel', {'A' 'B' '- \ sigma' '\ sigma' 'E'})'? –
@David_G: http://blogs.mathworks.com/pick/2007/09/24/tex-interpreter-in-x-tick-and-y-tick-labels/ (vous pouvez trouver d'autres soumissions similaires sur le fichier Échange). L'idée est de remplacer les étiquettes de graduation par des objets 'text' réels situés aux bonnes positions – Amro