Maison >développement back-end >Tutoriel Python >Comment tracer différentes catégories de données avec des couleurs dans Matplotlib et Seaborn ?
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.
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>
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>
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!