Maison  >  Article  >  développement back-end  >  Comment coder par couleur les catégories de nuages ​​de points dans Matplotlib ?

Comment coder par couleur les catégories de nuages ​​de points dans Matplotlib ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-17 16:39:02163parcourir

How to Color-Code Scatter Plot Categories in Matplotlib?

Comment tracer différentes couleurs pour différents niveaux catégoriels dans Matplotlib

Problème

Étant donné un DataFrame avec des variables catégorielles, vous souhaitez créer un nuage de points où chaque catégorie a sa propre couleur.

Solution avec Matplotlib

Pour spécifier les couleurs des différentes catégories dans Matplotlib, utilisez l'argument c dans plt.scatter. Cet argument accepte un tableau de couleurs ou un mappage qui mappe les catégories aux couleurs.

Voici un exemple :

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

# Define a DataFrame
df = pd.DataFrame({'category': ['A', 'B', 'C'], 'value': [10, 20, 30]})

# Create the scatter plot
colors = {'A': 'red', 'B': 'green', 'C': 'blue'}
plt.scatter(df['category'], df['value'], c=df['category'].map(colors))
plt.show()</code>

Ce code attribue des couleurs rouge, verte et bleue aux catégories « A » , 'B' et 'C', respectivement.

DataFrame GroupBy et Plotting

Vous pouvez également utiliser DataFrame.groupby() et .plot() pour obtenir le même résultat :

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

df.groupby('category').plot(ax=ax, kind='scatter', x='category', y='value', color=colors)
plt.show()</code>

Ce code suppose l'existence d'un dictionnaire de couleurs qui mappe les catégories aux couleurs.

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