„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie ordne ich Punkten in Streudiagrammen basierend auf Spaltenwerten in Python Farben zu?

Wie ordne ich Punkten in Streudiagrammen basierend auf Spaltenwerten in Python Farben zu?

Veröffentlicht am 10.11.2024
Durchsuche:988

How to Assign Colors to Points in Scatter Plots Based on Column Values in Python?

Färben von Streudiagrammen nach Spaltenwerten in Python

Die Vielseitigkeit von ggplot2 in R ermöglicht die nahtlose Zuweisung von Farben zu Datenpunkten basierend auf Spalten Werte. Diese Funktion kann auch in Python mithilfe von Pandas-Datenrahmen und Matplotlib repliziert werden.

Verwenden von Pandas und Matplotlib

Berücksichtigen Sie die folgenden Schritte, um Farben Werten in Matplotlib zuzuordnen:

  1. Erstellen Sie ein Farbwörterbuch: Definieren Sie ein Wörterbuch, das eindeutige Werte zuordnet in der kategorialen Spalte auf eine entsprechende Farbe. Dies stellt eine konsistente Farbzuweisung über alle Datenpunkte hinweg sicher.
  2. Eine Farbspalte hinzufügen: Erstellen Sie eine neue Spalte im Datenrahmen, die jedem Wert in der kategorialen Spalte die entsprechende Farbe zuweist.
  3. Zeichnen Sie das Streudiagramm: Verwenden Sie den c-Parameter in matplotlib.pyplot.scatter, um die Farbspalte als Farbe anzugeben Argument.

Hier ist eine Beispielimplementierung:

def dfScatter(df, xcol='Height', ycol='Weight', catcol='Gender'):
    fig, ax = plt.subplots()
    categories = np.unique(df[catcol])
    colors = np.linspace(0, 1, len(categories))
    colordict = dict(zip(categories, colors))  

    df["Color"] = df[catcol].apply(lambda x: colordict[x])
    ax.scatter(df[xcol], df[ycol], c=df.Color)
    return fig

Beispielverwendung

Betrachten Sie einen Datenrahmen mit den Spalten „Größe“, „Gewicht“ und „Geschlecht“. So erstellen Sie ein Streudiagramm, in dem Farben basierend auf der Spalte „Geschlecht“ zugewiesen werden:

df = pd.DataFrame({'Height':np.random.normal(size=10),
                       'Weight':np.random.normal(size=10),
                       'Gender': ["Male","Male","Unknown","Male","Male",
                                  "Female","Did not respond","Unknown","Female","Female"]})    
fig = dfScatter(df)

Dadurch wird ein Streudiagramm erstellt, in dem die Spalte „Geschlecht“ die Farbe jedes Datenpunkts bestimmt.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729320437 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3