Maison >développement back-end >Tutoriel Python >Comment colorer les nuages ​​de points par valeurs de colonne en Python avec pandas et Matplotlib ?

Comment colorer les nuages ​​de points par valeurs de colonne en Python avec pandas et Matplotlib ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-19 14:52:01862parcourir

How to Color Scatter Plots by Column Values in Python with pandas and Matplotlib?

Graphiques de dispersion de couleurs par valeurs de colonne en Python avec pandas et Matplotlib

Introduction

Comme vous l'avez mentionné, ggplot2 offre des fonctionnalités pratiques personnalisation de l'esthétique, vous permettant de colorer les nuages ​​de points en fonction des valeurs des colonnes. Cet article explore les fonctionnalités équivalentes en Python à l'aide de pandas et de Matplotlib.

Solution utilisant Seaborn

Seaborn, une bibliothèque de visualisation de données pour Python, fournit une solution élégante à ce problème.

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

# Load and clean the data
data = pd.read_csv('data.csv')
data['Gender'] = data['Gender'].astype('category')

# Create the scatter plot with color mapping
sns.relplot(data=data, x='Weight', y='Height', hue='Gender')</code>

Ce code exploite la fonction relplot pour créer un nuage de points, avec le paramètre de teinte attribuant des couleurs en fonction de la colonne Sexe.

Solution utilisant Matplotlib et le dictionnaire

Si vous préférez utiliser Matplotlib directement, vous pouvez créer un dictionnaire de cartographie des couleurs et l'utiliser pour colorer les points.

<code class="python">import matplotlib.pyplot as plt
import numpy as np

# Load and clean the data
data = pd.read_csv('data.csv')
data['Gender'] = data['Gender'].astype('category')

# Create a color mapping dictionary
categories = np.unique(data['Gender'])
colors = np.linspace(0, 1, len(categories))
color_dict = dict(zip(categories, colors))

# Add a 'Color' column to the DataFrame
data['Color'] = data['Gender'].map(color_dict)

# Create the scatter plot
plt.scatter(data['Weight'], data['Height'], c=data['Color'])
plt.show()</code>

Dans cette approche, color_dict attribue des couleurs à chaque catégorie dans la colonne Genre. La colonne « Couleur » est ajoutée au DataFrame et le paramètre c de la fonction scatter utilise cette colonne pour déterminer la couleur de chaque point.

Personnalisation supplémentaire

Seaborn et Matplotlib permettent une personnalisation plus poussée du nuage de points, comme l'ajustement de la palette de couleurs ou l'ajout d'une légende. Reportez-vous à leur documentation pour plus d'options.

Conclusion

Vous pouvez facilement colorer les nuages ​​de points par valeurs de colonne en Python en utilisant directement Seaborn ou Matplotlib. Seaborn fournit une interface pratique de haut niveau, tandis que Matplotlib offre un meilleur contrôle sur la personnalisation. En tirant parti des techniques décrites ci-dessus, vous pouvez créer des nuages ​​de points informatifs et visuellement attrayants en Python.

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