Maison  >  Article  >  développement back-end  >  Comment tracer différentes catégories de données avec des couleurs dans Matplotlib et Seaborn ?

Comment tracer différentes catégories de données avec des couleurs dans Matplotlib et Seaborn ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-17 16:36:03718parcourir

How to Plot Different Data Categories with Colors in Matplotlib and Seaborn?

Traçage de différentes couleurs pour différents niveaux catégoriels

Dans cet article, nous explorons différentes méthodes pour créer un nuage de points dans la bibliothèque matplotlib de Python, où Les points de données sont codés par couleur en fonction de différents niveaux catégoriels.

Utilisation de matplotlib

matplotlib fournit un paramètre c pour plt.scatter(), qui permet la personnalisation des couleurs. Ce paramètre peut être défini sur une liste ou un dictionnaire qui mappe les valeurs de catégorie aux couleurs.

<code class="python">import matplotlib.pyplot as plt
import pandas as pd

# Load data
df = pd.read_csv("diamonds.csv")

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

# Plot data with color mapping
plt.scatter(df['carat'], df['price'], c=df['color'].map(colors))
plt.show()</code>

Utilisation de seaborn

Seaborn est une bibliothèque qui fournit une API concise pour créer des graphiques statistiques avec matplotlib. Pour créer un nuage de points avec des points de données codés par couleur à l'aide de seaborn, utilisez la fonction sns.lmplot() avec fit_reg=False pour désactiver la régression.

<code class="python">import seaborn as sns

# Plot data with color-coding
sns.lmplot(x='carat', y='price', data=df, hue='color', fit_reg=False)</code>

Utilisation de pandas.DataFrame.groupby et pandas.DataFrame. plot

Si vous préférez ne pas utiliser seaborn, vous pouvez obtenir le même résultat manuellement en utilisant pandas.groupby() et pandas.DataFrame.plot(). Cette méthode consiste à regrouper les données par couleur, puis à tracer chaque groupe individuellement avec une couleur spécifiée.

<code class="python">fig, ax = plt.subplots()

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

En mettant en œuvre ces techniques, vous pouvez créer des nuages ​​de points informatifs qui représentent visuellement les relations entre différents niveaux catégoriels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn