Heim  >  Artikel  >  Backend-Entwicklung  >  Wie zeichnet man verschiedene Datenkategorien mit Farben in Matplotlib und Seaborn auf?

Wie zeichnet man verschiedene Datenkategorien mit Farben in Matplotlib und Seaborn auf?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-17 16:36:03620Durchsuche

How to Plot Different Data Categories with Colors in Matplotlib and Seaborn?

Verschiedene Farben für verschiedene kategoriale Ebenen zeichnen

In diesem Artikel untersuchen wir verschiedene Methoden zum Erstellen eines Streudiagramms in der Matplotlib-Bibliothek von Python Datenpunkte werden basierend auf verschiedenen kategorialen Ebenen farblich gekennzeichnet.

Verwendung von matplotlib

matplotlib stellt einen C-Parameter für plt.scatter() bereit, der eine Farbanpassung ermöglicht. Dieser Parameter kann auf eine Liste oder ein Wörterbuch gesetzt werden, das Kategoriewerte Farben zuordnet.

<code class="python">import matplotlib.pyplot as plt
import pandas as pd

# Load data
df = pd.read_csv("diamonds.csv")

# Create a color map
colors = {'D':'tab:blue', 'E':'tab:orange', 'F':'tab:green', 'G':'tab:red', 'H':'tab:purple', 'I':'tab:brown', 'J':'tab:pink'}

# Plot data with color mapping
plt.scatter(df['carat'], df['price'], c=df['color'].map(colors))
plt.show()</code>

Verwendung von Seaborn

Seaborn ist eine Bibliothek, die eine übersichtliche API zum Erstellen statistischer Grafiken mit Matplotlib bereitstellt. Um mit Seaborn ein Streudiagramm mit farbcodierten Datenpunkten zu erstellen, verwenden Sie die Funktion sns.lmplot() mit fit_reg=False, um die Regression zu deaktivieren.

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

# Plot data with color-coding
sns.lmplot(x='carat', y='price', data=df, hue='color', fit_reg=False)</code>

Verwenden von pandas.DataFrame.groupby & pandas.DataFrame. plot

Wenn Sie Seaborn lieber nicht verwenden möchten, können Sie das gleiche Ergebnis manuell mit pandas.groupby() und pandas.DataFrame.plot() erzielen. Bei dieser Methode werden die Daten nach Farben gruppiert und dann jede Gruppe einzeln mit einer bestimmten Farbe dargestellt.

<code class="python">fig, ax = plt.subplots()

grouped = df.groupby('color')
for key, group in grouped:
    group.plot(ax=ax, kind='scatter', x='carat', y='price', label=key, color=colors[key])</code>

Durch die Implementierung dieser Techniken können Sie informative Streudiagramme erstellen, die Beziehungen zwischen verschiedenen kategorialen Ebenen visuell darstellen.

Das obige ist der detaillierte Inhalt vonWie zeichnet man verschiedene Datenkategorien mit Farben in Matplotlib und Seaborn auf?. 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