Heim  >  Artikel  >  Backend-Entwicklung  >  Wie färbe ich Streudiagramme nach Spaltenwerten in Python mit Pandas und Matplotlib ein?

Wie färbe ich Streudiagramme nach Spaltenwerten in Python mit Pandas und Matplotlib ein?

Susan Sarandon
Susan SarandonOriginal
2024-10-19 14:52:01751Durchsuche

How to Color Scatter Plots by Column Values in Python with pandas and Matplotlib?

Farbstreudiagramme nach Spaltenwerten in Python mit Pandas und Matplotlib

Einführung

Wie Sie bereits erwähnt haben, bietet ggplot2 praktische Funktionen Anpassung der Ästhetik, sodass Sie Streudiagramme basierend auf Spaltenwerten einfärben können. In diesem Artikel werden äquivalente Funktionalitäten in Python mit Pandas und Matplotlib untersucht.

Lösung mit Seaborn

Seaborn, eine Datenvisualisierungsbibliothek für Python, bietet eine elegante Lösung für dieses Problem.

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

# Load and clean the data
data = pd.read_csv('data.csv')
data['Gender'] = data['Gender'].astype('category')

# Create the scatter plot with color mapping
sns.relplot(data=data, x='Weight', y='Height', hue='Gender')</code>

Dieser Code nutzt die Relplot-Funktion, um ein Streudiagramm zu erstellen, wobei der Farbtonparameter Farben basierend auf der Spalte „Geschlecht“ zuweist.

Lösung mit Matplotlib und Dictionary

Wenn Sie Matplotlib lieber direkt verwenden möchten, können Sie ein Farbzuordnungswörterbuch erstellen und es zum Färben der Punkte verwenden.

<code class="python">import matplotlib.pyplot as plt
import numpy as np

# Load and clean the data
data = pd.read_csv('data.csv')
data['Gender'] = data['Gender'].astype('category')

# Create a color mapping dictionary
categories = np.unique(data['Gender'])
colors = np.linspace(0, 1, len(categories))
color_dict = dict(zip(categories, colors))

# Add a 'Color' column to the DataFrame
data['Color'] = data['Gender'].map(color_dict)

# Create the scatter plot
plt.scatter(data['Weight'], data['Height'], c=data['Color'])
plt.show()</code>

Bei diesem Ansatz weist das color_dict jeder Kategorie in Farben zu die Spalte „Geschlecht“. Die Spalte „Farbe“ wird dem DataFrame hinzugefügt und der c-Parameter in der Streufunktion verwendet diese Spalte, um die Farbe jedes Punkts zu bestimmen.

Zusätzliche Anpassung

Sowohl Seaborn als auch Matplotlib ermöglichen eine weitere Anpassung des Streudiagramms, z. B. das Anpassen der Farbpalette oder das Hinzufügen einer Legende. Weitere Optionen finden Sie in der Dokumentation.

Fazit

Sie können Streudiagramme nach Spaltenwerten in Python ganz einfach einfärben, indem Sie entweder Seaborn oder Matplotlib direkt verwenden. Seaborn bietet eine praktische High-Level-Schnittstelle, während Matplotlib eine größere Kontrolle über die Anpassung bietet. Durch die Nutzung der oben beschriebenen Techniken können Sie informative und optisch ansprechende Streudiagramme in Python erstellen.

Das obige ist der detaillierte Inhalt vonWie färbe ich Streudiagramme nach Spaltenwerten in Python mit Pandas und Matplotlib ein?. 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