Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Matplotlib : Comment colorer un nuage de points par valeur



Souvent, vous souhaiterez peut-être ombrer la couleur des points dans un nuage de points matplotlib en fonction d’une troisième variable. Heureusement, cela est facile à faire en utilisant la fonction matplotlib.pyplot.scatter() , qui adopte la syntaxe suivante :

matplotlib.pyplot.scatter(x, y, s=Aucun, c=Aucun, cmap=Aucun)

où:

  • x : Tableau de valeurs à utiliser pour les positions de l’axe x dans le tracé.
  • y : tableau de valeurs à utiliser pour les positions de l’axe y dans le tracé.
  • s : la taille du marqueur.
  • c : Tableau de valeurs à utiliser pour les couleurs des marqueurs.
  • cmap : Une carte de couleurs à utiliser dans le tracé.

Vous pouvez utiliser c pour spécifier une variable à utiliser pour les valeurs de couleur et vous pouvez utiliser cmap pour spécifier les couleurs réelles à utiliser pour les marqueurs dans le nuage de points.

Ce tutoriel explique plusieurs exemples d’utilisation pratique de cette fonction.

Exemple 1 : Points de nuage de points de couleur par valeur

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29],
                   'y': [5, 7, 7, 9, 12, 9, 9, 4],
                   'z': [3, 4, 4, 5, 7, 8, 8, 9]})

#view DataFrame
df

        x	y	z
0	25	5	3
1	12	7	4
2	15	7	4
3	14	9	5
4	19	12	7
5	23	9	8
6	25	9	8
7	29	4	9

Le code suivant montre comment créer un nuage de points à l’aide d’une palette de couleurs grises et en utilisant les valeurs de la variable z comme nuance de la palette de couleurs :

import matplotlib.pyplot as plt

#create scatterplot
plt.scatter(df.x, df.y, s=200, c=df.z, cmap='gray')

Couleur du nuage de points Matplotlib par valeur

Pour cet exemple particulier, nous avons choisi la palette de couleurs « gris », mais vous pouvez trouver une liste complète des palettes de couleurs disponibles à utiliser dans la documentation des palettes de couleurs matplotlib .

Par exemple, nous pourrions à la place spécifier « Verts » comme palette de couleurs :

plt.scatter(df.x, df.y, s=200, c=df.z, cmap='Greens')

Diagramme de dispersion Matplotlib avec cmap

Par défaut, les marqueurs avec des valeurs plus grandes pour l’argument c sont ombrés plus foncés, mais vous pouvez inverser cette tendance en ajoutant simplement _r au nom du cmap :

plt.scatter(df.x, df.y, s=200, c=df.z, cmap='Greens_r')

Échelle inversée de la palette de couleurs Matplotlib

Exemple 2 : Points de nuage de points de couleur par catégorie

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29],
                   'y': [5, 7, 7, 9, 12, 9, 9, 4],
                   'z': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C']})

#view DataFrame
df

	x	y	z
0	25	5	A
1	12	7	A
2	15	7	B
3	14	9	B
4	19	12	B
5	23	9	C
6	25	9	C
7	29	4	C

Le code suivant montre comment créer un nuage de points en utilisant la variable z pour colorer les marqueurs en fonction de la catégorie :

import matplotlib.pyplot as plt

groups = df.groupby('z')
for name, group in groups:
    plt.plot(group.x, group.y, marker='o', linestyle='', markersize=12, label=name)

plt.legend()

Diagramme de dispersion Matplotlib coloré par catégorie

Vous pouvez trouver plus de didacticiels Python ici .

Ajouter un commentaire

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