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

Mary-Kate Olsen
Libérer: 2024-10-17 16:36:03
original
622 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!