Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich in Python ein Streudiagramm mit nach Kategorien gruppierten Markierungen?

Wie erstelle ich in Python ein Streudiagramm mit nach Kategorien gruppierten Markierungen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-03 20:42:16398Durchsuche

How to create a scatter plot with markers grouped by category in Python?

Zeichnen eines nach Kategorien gruppierten Streudiagramms in Python

Problem:

In Pandas, Wie können Sie ein Streudiagramm mit Markierungen erstellen, die Daten darstellen, die in durch ein Drittel definierte Kategorien sortiert sind? Spalte?

Lösung:

Um effizient ein nach Kategorien gruppiertes Streudiagramm zu erstellen, verwenden Sie die Plotfunktion anstelle von Scatter. Dies liegt daran, dass plot die Werte in der dritten Spalte als Kategorien und nicht als numerische Werte interpretiert.

Hier ist eine Schritt-für-Schritt-Lösung mit plot:

  1. Generieren Sie die Daten : Erstellen Sie einen DataFrame mit Spalten, die Daten auf der x- und y-Achse darstellen, sowie einer Spalte für Kategorien.
  2. Gruppieren Sie die Daten: Verwenden Sie groupby(), um Gruppen für jede Kategorie zu erstellen.
  3. Plotten Sie die Daten:Plotten Sie für jede Gruppe die x- und y-Werte mithilfe eines Diagramms. Geben Sie marker='o' an, um die Daten mit Kreisen darzustellen.
  4. Fügen Sie eine Legende hinzu: Beschriften Sie die Markierungen mit ax.legend() mit den entsprechenden Kategorien.

Zum Beispiel:

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

Dadurch wird ein Streudiagramm mit Markierungen erstellt, die nach den Werten in der Spalte „Beschriftung“ kategorisiert sind, und einer Legende dazu identifiziert die Kategorien.

Darüber hinaus können Sie das Erscheinungsbild des Diagramms anpassen, indem Sie den Parameter ax.margins() anpassen, die Markierungsgröße (ms) festlegen und eine Farbpalette für die Markierungen angeben.

Das obige ist der detaillierte Inhalt vonWie erstelle ich in Python ein Streudiagramm mit nach Kategorien gruppierten Markierungen?. 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