"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment créer un nuage de points avec différentes couleurs pour les niveaux catégoriels dans Matplotlib, Seaborn et Pandas ?

Comment créer un nuage de points avec différentes couleurs pour les niveaux catégoriels dans Matplotlib, Seaborn et Pandas ?

Publié le 2024-11-04
Parcourir:533

How to Create a Scatter Plot with Different Colors for Categorical Levels in Matplotlib, Seaborn, and Pandas?

Diagramme de dispersion avec différentes couleurs pour les niveaux catégoriels

Utilisation de Matplotlib

Pour créer un nuage de points où différents niveaux catégoriels sont représentés par différentes couleurs à l'aide de Matplotlib , suivez ces étapes :

  1. Importez Matplotlib et le bloc de données que vous souhaitez tracer.
  2. Définissez un dictionnaire qui mappe les niveaux catégoriels aux couleurs de traçage.
  3. Utilisez plt.scatter, en passant les valeurs x et y et l'argument c pour spécifier les couleurs.
import matplotlib.pyplot as plt
import pandas as pd

colors = {'D':'tab:blue', 'E':'tab:orange', 'F':'tab:green', 'G':'tab:red', 'H':'tab:purple', 'I':'tab:brown', 'J':'tab:pink'}

df.scatter(df['carat'], df['price'], c=df['color'].map(colors))

plt.show()

Utilisation de Seaborn

Seaborn est un wrapper autour de Matplotlib qui fournit une interface plus conviviale. Pour créer un nuage de points avec différentes couleurs pour les niveaux catégoriels à l'aide de Seaborn, procédez comme suit :

  1. Importez Seaborn et le bloc de données que vous souhaitez tracer.
  2. Utilisez seaborn.scatterplot, en passant dans les valeurs x et y et le paramètre hue pour spécifier le niveau catégoriel.
import seaborn as sns

sns.scatterplot(x='carat', y='price', data=df, hue='color')

plt.show()

Utilisation de pandas.groupby & pandas.DataFrame.plot

Vous pouvez également utiliser pandas.groupby et pandas.DataFrame.plot pour créer un nuage de points avec différentes couleurs pour les catégories niveaux. Cette méthode nécessite plus de travail manuel, mais elle vous donne plus de contrôle sur l'apparence du tracé.

  1. Importez les pandas et le bloc de données que vous souhaitez tracer.
  2. Regroupez le bloc de données par le niveau catégoriel.
  3. Parcourez les groupes et tracez chacun d'eux avec une couleur différente.
import pandas as pd

fig, ax = plt.subplots(figsize=(6, 6))

grouped = df.groupby('color')
for key, group in grouped:
    group.plot(ax=ax, kind='scatter', x='carat', y='price', label=key, color=colors[key])

plt.show()
Déclaration de sortie Cet article est réimprimé à l'adresse : 1729153817. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3