MATLAB Language
Graphiques: Tracés de lignes 2D
Recherche…
Syntaxe
parcelle (Y)
plot (Y, LineSpec)
tracé (X, Y)
plot (X, Y, LineSpec)
tracé (X1, Y1, X2, Y2, ..., Xn, Yn)
tracé (X1, Y1, LineSpec1, X2, Y2, LineSpec2, ..., Xn, Yn, LineSpecn)
plot (___, nom, valeur)
h = tracé (___)
Paramètres
Paramètre | Détails |
---|---|
X | x-values |
Y | valeurs y |
LineSpec | Style de trait, symbole de marqueur et couleur, spécifié sous forme de chaîne |
Nom, Valeur | Paires facultatives d'arguments de valeur de nom pour personnaliser les propriétés de ligne |
h | manipuler à un objet graphique |
Remarques
Plusieurs lignes dans une seule parcelle
Dans cet exemple, nous allons tracer plusieurs lignes sur un seul axe. De plus, nous choisissons une apparence différente pour les lignes et créons une légende.
% create sample data
x = linspace(-2,2,100); % 100 linearly spaced points from -2 to 2
y1 = x.^2;
y2 = 2*x.^2;
y3 = 4*x.^2;
% create plot
figure; % open new figure
plot(x,y1, x,y2,'--', x,y3,'-.'); % plot lines
grid minor; % add minor grid
title('Quadratic functions with different curvatures');
xlabel('x');
ylabel('f(x)');
legend('f(x) = x^2', 'f(x) = 2x^2', 'f(x) = 4x^2', 'Location','North');
Dans l'exemple ci-dessus, nous avons tracé les lignes avec une seule commande plot
. Une alternative consiste à utiliser des commandes séparées pour chaque ligne. Nous devons tenir le contenu d'une figure en hold on
la dernière avant d'ajouter la deuxième ligne. Sinon, les lignes précédemment tracées disparaîtront de la figure. Pour créer le même tracé que ci-dessus, nous pouvons utiliser les commandes suivantes:
figure; hold on;
plot(x,y1);
plot(x,y2,'--');
plot(x,y3,'-.');
La figure résultante ressemble à ceci dans les deux cas:
Split line avec NaN
Entrelacez vos valeurs y
ou x
avec NaNs
x = [1:5; 6:10]';
x(3,2) = NaN
x =
1 6
2 7
3 NaN
4 9
5 10
plot(x)
Ordre personnalisé de couleurs et de lignes
Dans MATLAB, nous pouvons définir de nouveaux ordres personnalisés par défaut , tels qu'un ordre de couleur et un ordre de style de ligne. Cela signifie que les nouvelles commandes seront appliquées à tout chiffre créé après l'application de ces paramètres. Les nouveaux paramètres restent jusqu'à la fermeture de la session MATLAB ou de nouveaux paramètres.
Ordre des couleurs et des lignes par défaut
Par défaut, MATLAB utilise deux couleurs différentes et uniquement un style de trait plein. Par conséquent, si le plot
est appelé pour dessiner plusieurs lignes, MATLAB alterne à travers un ordre de couleurs pour dessiner des lignes de couleurs différentes.
Nous pouvons obtenir l'ordre des couleurs par défaut en appelant get
avec un handle global 0
suivi de cet attribut DefaultAxesColorOrder
:
>> get(0, 'DefaultAxesColorOrder')
ans =
0 0.4470 0.7410
0.8500 0.3250 0.0980
0.9290 0.6940 0.1250
0.4940 0.1840 0.5560
0.4660 0.6740 0.1880
0.3010 0.7450 0.9330
0.6350 0.0780 0.1840
Ordre de couleur et de style de trait personnalisé
Une fois que nous avons décidé de définir un ordre de couleurs et un style de ligne personnalisés, MATLAB doit alterner les deux. Le premier changement appliqué par MATLAB est une couleur. Lorsque toutes les couleurs sont épuisées, MATLAB applique le style de ligne suivant dans un ordre de style de ligne défini et définit un index de couleur sur 1. Cela signifie que MATLAB recommencera à alterner toutes les couleurs, mais en utilisant le style de ligne suivant dans son ordre. Lorsque tous les styles de lignes et les couleurs sont épuisés, il est évident que MATLAB commence à utiliser le premier style et la première couleur.
Pour cet exemple, j'ai défini un vecteur d'entrée et une fonction anonyme pour faciliter le traçage des figures:
F = @(a,x) bsxfun(@plus, -0.2*x(:).^2, a);
x = (-5:5/100:5-5/100)';
Pour définir une nouvelle couleur ou un nouveau style de ligne, nous appelons set
fonction set
avec un handle global 0
suivi d'un attribut DefaultAxesXXXXXXX
; XXXXXXX
peut être ColorOrder
ou LineStyleOrder
. La commande suivante définit un nouvel ordre de couleur en noir, rouge et bleu, respectivement:
set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
plot(x, F([1 2 3 4 5 6],x));
Comme vous pouvez le voir, MATLAB alterne uniquement avec les couleurs car l'ordre des lignes est défini par défaut sur une ligne continue. Lorsqu'un jeu de couleurs est épuisé, MATLAB démarre à partir de la première couleur dans l'ordre des couleurs.
Les commandes suivantes définissent les ordres de couleur et de style de ligne:
set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
set(0, 'DefaultAxesLineStyleOrder', {'-' '--'});
plot(x, F([1 2 3 4 5 6],x));
Maintenant, MATLAB alterne à travers différentes couleurs et différents styles de lignes en utilisant la couleur comme attribut le plus fréquent.