Wie färbe ich Streudiagramme nach Spaltenwerten in Python ein?

DDD
Freigeben: 2024-10-19 14:48:30
Original
473 Leute haben es durchsucht

How to Color Scatter Plots by Column Values in Python?

Färben von Streudiagrammen nach Spaltenwerten

In Python bietet die Matplotlib-Bibliothek mehrere Möglichkeiten zum Anpassen der Streudiagrammästhetik. Eine häufige Aufgabe ist die Zuweisung von Farben basierend auf Werten in einer bestimmten Spalte.

Seaborn-Integration

Eine Lösung besteht darin, die Seaborn-Bibliothek zu nutzen, die auf Matplotlib aufbaut. Seaborn bietet High-Level-Funktionen wie sns.relplot und sns.FacetGrid, mit denen Sie Streudiagramme einfach bestimmten Spalten zuordnen können. Durch Angabe des Farbtonparameters können Sie Punkte entsprechend einer dritten Spalte mit Kategoriebezeichnungen einfärben.

<code class="python">import seaborn as sns

sns.relplot(data=df, x='Weight (kg)', y='Height (cm)', hue='Gender')</code>
Nach dem Login kopieren

Direkte Verwendung von Matplotlib

Alternativ können Sie Matplotlibs direkt verwenden plt.scatter-Funktion zum Erstellen von Streudiagrammen und zum manuellen Festlegen von Farben. Dazu ist die Erstellung eines benutzerdefinierten Farbwörterbuchs erforderlich, das Kategoriebeschriftungen Farben zuordnet.

<code class="python">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</code>
Nach dem Login kopieren

Durch Aufrufen dieser Funktion können Sie ein Streudiagramm generieren, das anhand der angegebenen Kategoriespalte gefärbt ist:

<code class="python">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)</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie färbe ich Streudiagramme nach Spaltenwerten in Python ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage