Graphique en nuage de points avec données masquées à l'aide de Matplotlib

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce tutoriel vous guidera tout au long de la création d'un graphique en nuage de points avec des points de données masqués à l'aide de la bibliothèque Python Matplotlib. Nous ajouterons également une ligne pour délimiter les régions masquées.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet d'adresses pour accéder au carnet Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Importation des bibliothèques nécessaires et définition de la graine aléatoire

Nous commençons par importer les bibliothèques nécessaires et en définissant la graine aléatoire pour garantir la reproductibilité.

import matplotlib.pyplot as plt
import numpy as np

## Définition de la graine aléatoire pour la reproductibilité
np.random.seed(19680801)

Génération de données pour le graphique en nuage de points

Ensuite, nous générons des données pour le graphique en nuage de points. Nous créons 100 points de données avec des valeurs aléatoires de x et y entre 0 et 0,9, et des rayons aléatoires entre 0 et 10. La couleur de chaque point de données est déterminée par la racine carrée de sa surface.

N = 100
r0 = 0.6
x = 0.9 * np.random.rand(N)
y = 0.9 * np.random.rand(N)
area = (20 * np.random.rand(N))**2  ## 0 à 10 rayons des points
c = np.sqrt(area)

Masquage des points de données et création d'un graphique en nuage de points

Nous masquons les points de données en fonction de leur distance par rapport à l'origine. Les points de données dont la distance est inférieure à r0 sont masqués dans area1, et ceux dont la distance est supérieure ou égale à r0 sont masqués dans area2. Nous créons ensuite un graphique en nuage de points des points de données masqués avec marker='^' et marker='o' pour area1 et area2 respectivement.

r = np.sqrt(x ** 2 + y ** 2)
area1 = np.ma.masked_where(r < r0, area)
area2 = np.ma.masked_where(r >= r0, area)
plt.scatter(x, y, s=area1, marker='^', c=c)
plt.scatter(x, y, s=area2, marker='o', c=c)

Ajout d'une ligne pour délimiter les régions masquées

Enfin, nous ajoutons une ligne pour délimiter les régions masquées. Nous créons un tableau de valeurs de theta et traçons un cercle de rayon r0 en utilisant np.cos(theta) et np.sin(theta).

## Affiche la limite entre les régions :
theta = np.arange(0, np.pi / 2, 0.01)
plt.plot(r0 * np.cos(theta), r0 * np.sin(theta))

Affichage du graphique en nuage de points

Nous affichons le graphique en nuage de points à l'aide de plt.show().

plt.show()

Sommaire

Dans ce tutoriel, nous avons appris à créer un graphique en nuage de points avec des points de données masqués à l'aide de la bibliothèque Python Matplotlib. Nous avons également ajouté une ligne pour délimiter les régions masquées. Nous avons commencé par importer les bibliothèques nécessaires et en définissant la graine aléatoire. Ensuite, nous avons généré des données pour le graphique en nuage de points et avons masqué les points de données en fonction de leur distance par rapport à l'origine. Nous avons ensuite créé un graphique en nuage de points des points de données masqués et ajouté une ligne pour délimiter les régions masquées. Enfin, nous avons affiché le graphique en nuage de points.