Tracer plusieurs ensembles de données sur un seul nuage de points dans MATLAB

Ammar Ali 15 février 2024
Tracer plusieurs ensembles de données sur un seul nuage de points dans MATLAB

Ce didacticiel abordera le traçage de plusieurs ensembles de données sur un seul nuage de points à l’aide de la fonction scatter() et de la commande hold on dans MATLAB.

Tracer plusieurs ensembles de données sur un seul nuage de points dans MATLAB

La fonction scatter() de Matlab trace l’ensemble de données donné sous forme de cercles ou de bulles sur un tracé 2D, et la fonction scatter3() trace l’ensemble de données sur un tracé 3D. Nous pouvons également modifier de nombreuses propriétés des cercles ou des bulles des nuages ​​de points, telles que leur taille et leur couleur, à l’aide de la fonction scatter().

Les fonctions scatter() et scatter3() ont été discutées sur ce site avec des exemples, mais nous n’avons tracé qu’un seul ensemble de données sur ce sujet. Vérifiez ce lien pour regarder le sujet avant d’aller de l’avant.

Nous allons maintenant discuter de la façon de tracer plusieurs ensembles de données sur un seul nuage de points dans Matlab. Nous devons utiliser la fonction scatter() pour chaque ensemble de données séparément pour le tracer sur le nuage de points.

Supposons que nous utilisions plusieurs fonctions de traçage dans Matlab. Dans ce cas, seul le dernier tracé sera visible car le dernier tracé écrasera tous les autres tracés, et nous ne verrons que le dernier tracé, mais nous pouvons désactiver ce comportement de Matlab en utilisant la commande hold on de Matlab .

Nous devons utiliser la commande hold on chaque fois que nous traçons un nuage de points, à l’exception du premier nuage de points pour tracer tous les ensembles de données donnés sur le même graphique.

Par exemple, créons et traçons deux ensembles de données sur le même nuage de points dans Matlab. Voir le code ci-dessous.

clc
clear

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

x1 = linspace(0,4*pi,100);
y1 = sin(x) + rand(1,100);
hold on
scatter(x1,y1)
legend('scatter plot 1','scatter plot 2')

Production:

plusieurs nuages ​​de points

Nous avons tracé le premier ensemble de données dans le code ci-dessus, puis utilisé la commande hold on avant de tracer le deuxième ensemble de données. Nous avons également utilisé la fonction legend() pour afficher quelle couleur appartient à quel ensemble de données.

Le nombre d’arguments de la fonction legend() est égal au nombre de jeux de données tracés sur un seul nuage de points. Nous pouvons donner à chaque ensemble de données un nom unique pour le distinguer des autres ensembles de données.

Si nous traçons plusieurs ensembles de données sur le même nuage de points, Matlab donnera à chaque ensemble de données une couleur différente afin qu’ils soient différents les uns des autres. Nous pouvons voir dans la sortie ci-dessus que les deux ensembles de données ont des couleurs différentes, et la légende sur le tracé donne des informations sur l’ensemble de données en fonction de sa couleur.

Les limites des axes peuvent changer dans plusieurs nuages ​​de points en fonction des ensembles de données. Nous ne devons donc pas définir les limites de l’axe car certains ensembles de données peuvent être longs, et si nous définissons les limites de l’axe court, l’ensemble de données ne sera pas couvert sur le tracé.

Nous pouvons également utiliser la fonction scatter3() pour plusieurs tracés dans un plan 3D, de la même manière que nous avons utilisé la fonction scatter().

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Article connexe - MATLAB Plot