Maison > développement back-end > Tutoriel Python > Comment créer des nuages ​​de points catégoriels avec des symboles distincts en Python ?

Comment créer des nuages ​​de points catégoriels avec des symboles distincts en Python ?

Susan Sarandon
Libérer: 2024-11-18 05:22:02
original
824 Les gens l'ont consulté

How to Create Categorical Scatter Plots with Distinct Symbols in Python?

Utilisation de Plot pour les nuages ​​de points catégoriels

Dans ce guide, nous visons à résoudre un problème courant lors de la création de nuages ​​de points en Python à l'aide de Pandas et matplotlib. Plus précisément, nous explorerons comment attribuer des symboles spécifiques à différentes catégories au sein des données.

Le problème

Étant donné un DataFrame Pandas avec plusieurs colonnes, l'objectif est de créer un nuage de points où deux variables sont tracées le long des axes x et y, tandis qu'une troisième colonne détermine les symboles utilisés pour représenter les données points.

La solution : utiliser Plot

Bien que scatter puisse être utilisé pour cette tâche, il nécessite des valeurs numériques pour les catégories, ce qui limite son efficacité. Une meilleure approche consiste à utiliser la fonction plot pour les catégories discrètes.

L'exemple de code suivant montre comment mettre en œuvre cette approche :

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
np.random.seed(1974)

# Generate Data
num = 20
x, y = np.random.random((2, num))
labels = np.random.choice(['a', 'b', 'c'], num)
df = pd.DataFrame(dict(x=x, y=y, label=labels))

groups = df.groupby('label')

# Plot
fig, ax = plt.subplots()
ax.margins(0.05)
for name, group in groups:
    ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name)
ax.legend()

plt.show()
Copier après la connexion

Pour un résultat visuellement attrayant, vous pouvez personnaliser le tracé en utilisant le style matplotlib disponible dans le module de traçage de Pandas :

plt.rcParams.update(pd.tools.plotting.mpl_stylesheet)
colors = pd.tools.plotting._get_standard_colors(len(groups), color_type='random')
# ... (the rest of the code remains the same)
Copier après la connexion

Cela vous donnera un nuage de points où chaque catégorie est représentée par une couleur distincte et symbole.

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.cn
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