Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich kategoriale Streudiagramme mit unterschiedlichen Symbolen in Python?

Wie erstelle ich kategoriale Streudiagramme mit unterschiedlichen Symbolen in Python?

Susan Sarandon
Susan SarandonOriginal
2024-11-18 05:22:02832Durchsuche

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

Plot für kategoriale Streudiagramme verwenden

In diesem Leitfaden möchten wir ein häufiges Problem beim Erstellen von Streudiagrammen in Python mit Pandas und ansprechen matplotlib. Konkret werden wir untersuchen, wie man bestimmte Symbole verschiedenen Kategorien innerhalb der Daten zuordnet.

Das Problem

Bei einem Pandas-DataFrame mit mehreren Spalten besteht das Ziel darin, einen zu erstellen ein Streudiagramm, in dem zwei Variablen entlang der x- und y-Achse aufgetragen werden, während eine dritte Spalte die Symbole bestimmt, die zur Darstellung der Datenpunkte verwendet werden.

Die Lösung: Verwendung von Plot

Während Scatter für diese Aufgabe verwendet werden kann, erfordert es numerische Werte für die Kategorien, was seine Wirksamkeit einschränkt. Ein besserer Ansatz besteht darin, die Plotfunktion für diskrete Kategorien zu verwenden.

Das folgende Codebeispiel zeigt, wie dieser Ansatz implementiert wird:

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()

Für ein optisch ansprechendes Ergebnis können Sie den Plot anpassen Verwenden des Matplotlib-Stils, der im Plotmodul von Pandas verfügbar ist:

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)

Dadurch erhalten Sie ein Streudiagramm, in dem jede Kategorie durch eine bestimmte Farbe und ein bestimmtes Symbol dargestellt wird.

Das obige ist der detaillierte Inhalt vonWie erstelle ich kategoriale Streudiagramme mit unterschiedlichen Symbolen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn