Nuage de points dans MATLAB (2024)

Nuage de points dans MATLAB (1)

Ce tutoriel abordera la création d’un nuage de points à l’aide de la fonction scatter() dans MATLAB.

Créer un nuage de points à l’aide de la fonction scatter() dans MATLAB

La fonction scatter(x,y) crée un nuage de points sur l’emplacement spécifié par les vecteurs d’entrée x et y. Par défaut, la fonction scatter() utilise des marqueurs circulaires pour tracer les données fournies. Par exemple, utilisons la fonction scatter() pour créer un nuage de points de données données. Voir le code ci-dessous.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100); scatter(x,y)

Production :

Nuage de points dans MATLAB (2)

Les données stockées dans les variables x et y sont utilisées pour créer un nuage de points dans la sortie. Assurez-vous que la longueur des variables x et y doit être la même. Sinon, MATLAB affichera une erreur. Par défaut, la fonction scatter() utilise la valeur par défaut pour la taille et la couleur des cercles, mais nous pouvons modifier les propriétés par défaut de la fonction. Par exemple, pour changer la taille des cercles, nous devons définir la taille des cercles comme troisième argument à l’intérieur de la fonction scatter(). Par exemple, modifions la taille des cercles dans le tracé ci-dessus. Voir le code ci-dessous.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100); scatter(x,y,10)

Production :

Nuage de points dans MATLAB (3)

La taille des cercles dans la sortie ci-dessus est différente par rapport à la taille des cercles dans le nuage de points précédent. La taille doit être une valeur numérique positive ou un vecteur de la même taille que les vecteurs d’entrée x et y. Si la taille est une seule valeur numérique positive, comme dans le code ci-dessus, elle s’appliquera à tous les cercles présents dans le nuage de points. Nous pouvons également donner à chaque cercle une valeur de taille différente en utilisant un vecteur de la même longueur que les vecteurs d’entrée x et y. Par exemple, modifions la taille de chaque cercle dans le nuage de points ci-dessus. Voir le code ci-dessous.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;scatter(x,y,CSize)

Production :

Nuage de points dans MATLAB (4)

Dans la sortie ci-dessus, chaque cercle a une taille différente. On peut aussi modifier la couleur des cercles du nuage de points en le passant comme quatrième argument dans la fonction scatter(). Par exemple, changeons la couleur des cercles dans le nuage de points ci-dessus en noir. Voir le code ci-dessous.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;scatter(x,y,CSize,[0 0 0])

Production :

Nuage de points dans MATLAB (5)

Dans le nuage de points ci-dessus, la couleur des cercles est noire, mais nous pouvons lui donner n’importe quelle couleur en entrant la valeur RVB de cette couleur comme quatrième argument dans la fonction scatter(). On peut aussi changer la couleur en passant le nom de la couleur sous forme de chaîne dans la fonction scatter(). Si nous définissons une seule valeur de couleur, elle sera appliquée à tous les cercles présents dans le nuage de points. Nous pouvons également donner à chaque cercle une couleur différente en utilisant une matrice de la même taille que les vecteurs d’entrée x et y. La matrice peut contenir des valeurs numériques positives ou des triplets de couleurs RVB. Par exemple, changeons la couleur de chaque cercle dans le nuage de points ci-dessus. Voir le code ci-dessous.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;CColor = 100:-1:1;scatter(x,y,CSize,CColor)colorbar

Production :

Nuage de points dans MATLAB (6)

La commande colorbar est utilisée dans le code ci-dessus pour tracer une barre de couleur dans le nuage de points. Nous pouvons voir à partir de la barre de couleur que les valeurs basses appartiennent à la couleur la plus froide et les valeurs élevées appartiennent à la couleur la plus chaude. Nous avons utilisé un vecteur avec des valeurs numériques positives dans cet exemple, mais nous pouvons également utiliser une matrice avec des valeurs de triplet RVB. Les cercles sont creux dans les nuages ​​de points ci-dessus, mais nous pouvons également les remplir en utilisant la propriété filled à l’intérieur de la fonction scatter(). Par exemple, remplissons les cercles présents dans le nuage de points ci-dessus. Voir le code ci-dessous.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;CColor = 100:-1:1;scatter(x,y,CSize,CColor,'filled')colorbar

Production :

Nuage de points dans MATLAB (7)

Dans la sortie, chaque couleur est remplie. Nous pouvons également modifier le symbole du marqueur dans le nuage de points. Par défaut, la fonction scatter() utilise le cercle comme marqueur, mais on peut le changer en passant une chaîne contenant le symbole du marqueur comme d pour le losange, p pour le pentagramme, h pour l’hexagramme , etc. Par exemple, changeons le symbole du marqueur de cercle en pentagramme dans le nuage de points ci-dessus. Voir le code ci-dessous.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;CColor = 100:-1:1;scatter(x,y,CSize,CColor,'p')

Production :

Nuage de points dans MATLAB (8)

Dans la sortie, le symbole du marqueur est remplacé par un pentagramme. Nous pouvons également modifier la transparence du marqueur en utilisant la propriété MarkerFaceAlpha dans la fonction scatter(). Nous pouvons modifier la valeur de transparence de 0 à 1. Par exemple, modifions la transparence du nuage de points ci-dessus à 0,5. Voir le code ci-dessous.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;CColor = 100:-1:1;scatter(x,y,CSize,CColor,'filled','MarkerFaceAlpha',0.5)

Production :

Nuage de points dans MATLAB (9)

Dans la sortie, le marqueur a la même couleur de bord et de face, mais nous pouvons donner au marqueur une couleur de bord et de face différente. Pour modifier la couleur des bords du marqueur, nous pouvons utiliser la propriété MarkerEdgeColor à l’intérieur du tracé scatter(). Pour modifier la couleur de la face du marqueur, nous pouvons utiliser la propriété MarkerFaceColor. La valeur de couleur peut être n’importe quel triplet RVB ou une chaîne contenant le nom de la couleur. Nous pouvons également modifier la largeur de ligne du bord du marqueur en utilisant la propriété LineWidth. Par exemple, modifions la couleur des bords, la couleur de la face et la largeur de ligne du marqueur dans le nuage de points ci-dessus. Voir le code ci-dessous.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;scatter(x,y,CSize,'MarkerFaceColor','yellow','MarkerEdgeColor','black','LineWidth',1.5)

Production :

Nuage de points dans MATLAB (10)

Dans la sortie, la couleur de la face du marqueur est jaune et la couleur des bords est noire. Si nous voulons créer un nuage de points en 3D, nous pouvons utiliser la fonction scatter3(). Cette fonction est la même que la fonction scatter(), sauf qu’elle trace les données données dans un plan 3D. On peut donner deux ou trois vecteurs d’entrée à la fonction scatter3(). Dans le cas de trois entrées, le premier vecteur contient les coordonnées x, le deuxième contient les coordonnées y et le troisième contient les coordonnées z. Dans le cas de deux vecteurs d’entrée, la troisième coordonnée z sera extraite des indices des deux premières coordonnées. Par exemple, traçons le nuage de points ci-dessus en 3D à l’aide de la fonction scatter3(). Voir le code ci-dessous.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);z = 1:100;scatter3(x,y,z)

Production :

Nuage de points dans MATLAB (11)

Nous pouvons également modifier les propriétés de la fonction scatter3() de la même manière que nous l’avons fait avec la fonction scatter().

Nuage de points dans MATLAB (2024)

References

Top Articles
Latest Posts
Article information

Author: Ray Christiansen

Last Updated:

Views: 5723

Rating: 4.9 / 5 (49 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Ray Christiansen

Birthday: 1998-05-04

Address: Apt. 814 34339 Sauer Islands, Hirtheville, GA 02446-8771

Phone: +337636892828

Job: Lead Hospitality Designer

Hobby: Urban exploration, Tai chi, Lockpicking, Fashion, Gunsmithing, Pottery, Geocaching

Introduction: My name is Ray Christiansen, I am a fair, good, cute, gentle, vast, glamorous, excited person who loves writing and wants to share my knowledge and understanding with you.