Data Visualization

Maîtriser les Nuages de Points Matplotlib : Guide pour Contrôler la Taille des Marqueurs

Spread the love

Les nuages de points sont un moyen efficace de visualiser la relation entre deux variables. Matplotlib, une bibliothèque de tracé Python largement utilisée, offre diverses options pour personnaliser ces tracés, y compris la taille des marqueurs représentant les points de données. Cet article explore différentes méthodes pour contrôler la taille des marqueurs dans vos nuages de points Matplotlib, vous permettant de créer des visualisations plus informatives et visuellement attrayantes.

Table des matières

Contrôle de la taille des marqueurs avec le mot-clé ‘s’

La méthode la plus courante et la plus polyvalente pour ajuster la taille des marqueurs dans les nuages de points Matplotlib consiste à utiliser l’argument mot-clé s dans la fonction scatter. L’argument s accepte un scalaire ou un objet de type tableau spécifiant la taille du marqueur en points carrés. Une valeur de 100 représente un marqueur d’une surface de 100 points carrés.


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)
sizes = np.random.randint(10, 100, 10)  # Tailles aléatoires entre 10 et 100

plt.scatter(x, y, s=sizes)
plt.xlabel("Axe des X")
plt.ylabel("Axe des Y")
plt.title("Nuage de points avec tailles de marqueurs variables")
plt.show()

Ce code crée un nuage de points où la taille de chaque marqueur est déterminée par l’élément correspondant du tableau sizes. L’utilisation d’une seule valeur scalaire pour s entraîne des tailles de marqueurs uniformes pour tous les points.

Taille de marqueur uniforme pour tous les points

Pour définir une taille de marqueur cohérente pour tous les points de données, il suffit de fournir une seule valeur scalaire à l’argument s :


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)

plt.scatter(x, y, s=50)  # Tous les marqueurs auront une taille de 50
plt.xlabel("Axe des X")
plt.ylabel("Axe des Y")
plt.title("Nuage de points avec taille de marqueur uniforme")
plt.show()

Cela génère un nuage de points où tous les marqueurs ont une surface de 50 points carrés.

Taille de marqueur non uniforme basée sur les données

Souvent, vous voudrez mettre à l’échelle la taille des marqueurs en fonction d’une troisième variable. Par exemple, si vous disposez de données de population, vous pouvez souhaiter que des marqueurs plus grands représentent les zones ayant une densité de population plus élevée. Cela est facilement réalisable en mappant vos données à des tailles de marqueurs appropriées :


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)
population = np.random.randint(1000, 10000, 10)  # Exemple de données de population

# Mise à l'échelle de la population pour des tailles de marqueurs appropriées
sizes = (population / population.max()) * 200  # Mise à l'échelle à une plage raisonnable

plt.scatter(x, y, s=sizes)
plt.xlabel("Axe des X")
plt.ylabel("Axe des Y")
plt.title("Nuage de points avec taille de marqueur représentant la population")
plt.show()

Cela met à l’échelle les données de population à une plage appropriée pour les tailles de marqueurs, en veillant à ce que les populations plus importantes correspondent à des marqueurs plus grands.

Utilisation de la fonction plot pour les nuages de points simples

Bien que la fonction scatter soit généralement préférée pour les nuages de points en raison de sa flexibilité, vous pouvez également contrôler la taille des marqueurs à l’aide du paramètre markersize dans la fonction plot. Cependant, cette méthode est moins flexible et ne permet qu’une seule taille de marqueur pour tous les points :


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)

plt.plot(x, y, 'o', markersize=10)  # Tous les marqueurs auront une taille de 10
plt.xlabel("Axe des X")
plt.ylabel("Axe des Y")
plt.title("Nuage de points utilisant la fonction plot")
plt.show()

Cela produit un résultat similaire à l’utilisation d’une taille uniforme avec scatter, mais scatter offre un contrôle supérieur et est généralement recommandé pour créer des nuages de points. Notez que 'o' spécifie un marqueur circulaire ; d’autres styles de marqueurs sont disponibles (consultez la documentation Matplotlib pour plus de détails).

Cet article a démontré diverses techniques pour contrôler la taille des marqueurs dans les nuages de points Matplotlib, vous permettant de créer des visualisations visuellement informatives et personnalisées. N’oubliez pas d’ajuster la mise à l’échelle de la taille pour qu’elle corresponde à vos données et à la représentation visuelle souhaitée.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *