Matplotlib Scatter

Création de nuages de points
Avec Pyplot, vous pouvez utiliser le scatter()
fonction pour dessiner un nuage de points.
Le scatter()
La fonction trace un point pour chaque observation. Il a besoin de deux tableaux de même longueur, un pour les valeurs de l’axe des x et un pour les valeurs de l’axe des y :
Exemple
Un simple nuage de points :
importer matplotlib.pyplot en tant que plt
importer numpy en tant que np
x = np.tableau([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.tableau([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y)
plt.show()
Résultat:
Essayez-le vous-même »
L’observation dans l’exemple ci-dessus est le résultat du passage de 13 voitures.
L’axe X indique l’âge de la voiture.
L’axe Y indique la vitesse de la voiture lors de son passage.
Existe-t-il des relations entre les observations ?
Il semble que plus la voiture est récente, plus elle roule vite, mais cela pourrait être une coïncidence, après tout, nous n’avons enregistré que 13 voitures.
Comparer les parcelles
Dans l’exemple ci-dessus, il semble y avoir une relation entre la vitesse et l’âge, mais que se passe-t-il si nous traçons également les observations d’un autre jour ? Le nuage de points nous dira-t-il autre chose ?
Exemple
Dessinez deux tracés sur la même figure :
importer matplotlib.pyplot en tant que plt
importer numpy en tant que np
#1er jour, l’âge et la vitesse de 13 voitures :
x = np.tableau([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.tableau([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y)
#deuxième jour, l’âge et la vitesse de 15 voitures :
x = np.tableau([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.tableau([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y)
plt.show()
Résultat:
Essayez-le vous-même »
Note: Les deux tracés sont tracés avec deux couleurs différentes, par défaut bleu et orange, vous apprendrez comment changer les couleurs plus loin dans ce chapitre.
En comparant les deux tracés, je pense qu’il est prudent de dire qu’ils nous donnent tous les deux la même conclusion : plus la voiture est récente, plus elle roule vite.
Couleurs
Vous pouvez définir votre propre couleur pour chaque nuage de points avec le
color
ou la c
argument:
Exemple
Définissez votre propre couleur des marqueurs :
importer matplotlib.pyplot en tant que plt
importer numpy en tant que np
x = np.tableau([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.tableau([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y, color= »hotpink »)
x = np.tableau([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.tableau([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y, color= »#88c999″)
plt.show()
Résultat:
Essayez-le vous-même »
Colorier chaque point
Vous pouvez même définir une couleur spécifique pour chaque point en utilisant un tableau de couleurs comme valeur pour le
c
argument:
Note: Toi ne peut pas Utilisez le color
argument pour cela, seul le c
argument.
Exemple
Définissez votre propre couleur des marqueurs :
importer matplotlib.pyplot en tant que plt
importer numpy en tant que np
x = np.tableau([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.tableau([99,86,87,88,111,86,103,87,94,78,77,85,86])
couleurs = np.tableau([« red », »green », »blue », »yellow », »pink », »black », »orange », »purple », »beige », »brown », »gray », »cyan », »magenta »])
plt.scatter(x, y, c=couleurs)
plt.show()
Résultat:
Essayez-le vous-même »
ColorMap
Le module Matplotlib a un certain nombre de palettes de couleurs disponibles.
Une palette de couleurs est comme une liste de couleurs, où chaque couleur a une valeur comprise entre 0 et 100.
Voici un exemple de palette de couleurs :
Cette palette de couleurs s’appelle ‘viridis’ et comme vous pouvez le voir, elle va de 0, qui est une couleur violette, jusqu’à 100, qui est une couleur jaune.
Comment utiliser la carte des couleurs
Vous pouvez spécifier la palette de couleurs avec l’argument de mot-clé
cmap
avec la valeur de la palette de couleurs, dans ce cas 'viridis'
qui est l’une des palettes de couleurs intégrées disponibles dans Matplotlib.
De plus, vous devez créer un tableau avec des valeurs (de 0 à 100), une valeur pour chaque point du nuage de points :
Exemple
Créez un tableau de couleurs et spécifiez une palette de couleurs dans le nuage de points :
importer matplotlib.pyplot en tant que plt
importer numpy en tant que np
x = np.tableau([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.tableau([99,86,87,88,111,86,103,87,94,78,77,85,86])
couleurs = np.tableau([0,
10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])
plt.scatter(x, y, c=couleurs, cmap=’viridis’)
plt.show()
Résultat:
Essayez-le vous-même »
Vous pouvez inclure la palette de couleurs dans le dessin en incluant le plt.colorbar()
déclaration:
Exemple
Incluez la palette de couleurs réelle :
importer matplotlib.pyplot en tant que plt
importer numpy en tant que np
x = np.tableau([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.tableau([99,86,87,88,111,86,103,87,94,78,77,85,86])
couleurs = np.tableau([0,
10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])
plt.scatter(x, y, c=couleurs, cmap=’viridis’)
plt.colorbar()
plt.show()
Résultat:
Essayez-le vous-même »
Cartes de couleurs disponibles
Vous pouvez choisir l’une des palettes de couleurs intégrées :
Taille
Vous pouvez changer la taille des points avec le
s
argument.
Tout comme les couleurs, assurez-vous que le tableau des tailles a la même longueur que les tableaux des axes x et y :
Exemple
Définissez votre propre taille pour les marqueurs :
importer matplotlib.pyplot en tant que plt
importer numpy en tant que np
x = np.tableau([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.tableau([99,86,87,88,111,86,103,87,94,78,77,85,86])
tailles = np.array([20,50,100,200,500,1000,60,90,10,300,600,800,75])
plt.scatter(x, y, s=tailles)
plt.show()
Résultat:
Essayez-le vous-même »
Alpha
Vous pouvez ajuster la transparence des points avec le
alpha
argument.
Tout comme les couleurs, assurez-vous que le tableau des tailles a la même longueur que les tableaux des axes x et y :
Exemple
Définissez votre propre taille pour les marqueurs :
importer matplotlib.pyplot en tant que plt
importer numpy en tant que np
x = np.tableau([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.tableau([99,86,87,88,111,86,103,87,94,78,77,85,86])
tailles = np.array([20,50,100,200,500,1000,60,90,10,300,600,800,75])
plt.scatter(x, y, s=tailles, alpha=0.5)
plt.show()
Résultat:
Essayez-le vous-même »
Combiner la taille de la couleur et l’alpha
Vous pouvez combiner une palette de couleurs avec différentes tailles de points. Ceci est mieux visualisé si les points sont transparents :
Exemple
Créez des tableaux aléatoires avec 100 valeurs pour les points x, les points y, les couleurs et les tailles :
importer matplotlib.pyplot en tant que plt
importer numpy en tant que np
x = np.random.randint(100, taille=(100))
y = np.random.randint(100, taille=(100))
couleurs = np.random.randint(100, taille=(100))
tailles = 10 * np.random.randint(100, taille=(100))
plt.scatter(x, y, c=couleurs, s=tailles, alpha=0.5, cmap=’nipy_spectral’)
plt.colorbar()
plt.show()
Résultat:
Essayez-le vous-même »
#Matplotlib #Scatter