drpFra

Enseignement / Maîtriser les courbes 1D sous Matlab

  1. Tracer une courbe y en fonction de x
  2. Ajouter des données statistiques à une courbe (écart-type, médiane)
  3. Tracer une droite de type x = cste
  4. Légende : présentation, police, taille
  5. Tracer deux courbes avec des axes verticaux différents
  6. Axes : présentation, police, taille

1. Tracer une courbe y en fonction de x

Tracer une courbe y en fonction de x : plot(x,y)
Tracer plusieurs courbes sur le même graphique : plot(x1,y1,x2,y2,...,xn,yn)

Après chaque couple x,y, on peut préciser les paramètres suivants :

  • La couleur : y jaune, r rouge, etc
  • Le symbole à chaque point : . point, o cercle, etc
  • Le type de la courbe : - solide, : pointillé, -. alterné, -- tiretée
Exemple : plot(x1,y1,'r-.',x2,y2,'k:x')

Faire help plot pour une liste exhaustive.

2. Tracer une droite verticale (de type x = constante)

Notons k la valeur de la constante (x = k) et Ymin et Ymax les coordonnées verticales :
plot([k k], [Ymin Ymax]);

Ce type de droite peut être incluse avec d'autres courbes dans un plot :
plot([k k], [Ymin Ymax],x1,y1)

3. Tracer deux courbes avec des axes verticaux différents

plotyy(x1,y1,x2,y2)

4. Ajouter des données statistiques à une courbe (écart-type, médiane)

Ecart-type : Notons e le vecteur contenant les valeurs de l'écart-type (obtenues par exemple avec la fonction std)
errorbar(x,y,e)

Médiane : Il n'existe pas de fonction prédéfinie. On va donc tracer une courbe de points non reliés ayant la valeur de la médiane en ce point par-dessus notre courbe initiale (la médiane peut être obtenue par la fonction median). Les différents symboles au choix son ceux de la fonction plot. On peut régler leur taille et leur couleur. Par exemple :
plot(x,median_vector,'+r','MarkerFaceColor',[1 0 0], 'MarkerSize', 5)

5. Légende : présentation, police, taille

Ajouter une légende pour les n courbes tracées par plot :
legend('tomates','courgettes','aubergines')

Modifier la police et la taille de la légende :
legend ('\fontname{Times} \fontsize{12} tomates','\fontname{Times} \fontsize{12}courgettes','\fontname{Times} \fontsize{12} aubergines')

Enlever le cadre autour de la légende :
h = legend ('tomates','courgettes','aubergines')
set(h, 'visible', 'off')

6. Axes : présentation, police, taille

Nommer les axes :
xlabel('Temps (année)');
ylabel('Production (kg)');

Avoir l'étiquette de l'axe y horizontale :
set(get(gca,'YLabel'),'Rotation',0.0);
ylabel('Production (kg)');

Modifier la taille et la police des étiquettes et des graduations :
set(gca, 'FontSize', 20, 'fontName','Times');

Modifier la taille et la police des étiquettes seulement :
ylabel('\fontname{Times}\fontsize{12} Production (kg)');

Supprimer étiquettes et graduations pour un axe :
set(gca, 'XTick', []);


Modifier les graduations des axes : set(gca,'XTick',[1 3 5 7 9 11 13 15])

Les graduations de l'axe seront donc 1, 3, 5, etc. La taille du vecteur des graduations n'est pas en rapport avec la taille du vecteur des données.

Modifier les limites des axes :
axis([xmin xmax ymin ymax]);
Pour modifier seulement les limites de l'axe y, on obtient les limites données par Matlab avec V=axis, et ensuite faire : axis([V(1) V(2) mon_ymin mon_ymax])

Avoir juste les axes abscisse/ordonnée et non plus un cadre : set(gca,'Box','off')

La règle de générale pour modifier une propriété particulière des axes est :
set(gca,'PropertyName','PropertyValue')
gca : get handle to current axis)

Pour une liste des PropertyNames, aller voir sur l'aide de la fonction axes:
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/axes.shtml