Ein gestapeltes Balkendiagramm ist eine Art Diagramm, bei dem Balken verwendet werden, um die Häufigkeit verschiedener Kategorien anzuzeigen. Wir können diesen Diagrammtyp in Matplotlib mithilfe der Funktion matplotlib.pyplot.bar …
Oft möchten Sie möglicherweise die Farbe von Punkten innerhalb eines Matplotlib-Streudiagramms basierend auf einer dritten Variablen schattieren. Glücklicherweise ist dies mit der Funktion matplotlib.pyplot.scatter (), die die folgende Syntax annimmt, einfach zu bewerkstelligen:
matplotlib.pyplot.scatter(x, y, s=None, c=None, cmap=None)
wo:
- x: Array von Werten, die für die Positionen der x-Achse im Diagramm verwendet werden sollen.
- y: Array von Werten, die für die Positionen der y-Achse im Diagramm verwendet werden sollen.
- s: Die Markergröße.
- c: Array von Werten, die für Markierungsfarben verwendet werden sollen.
- cmap: Eine Karte mit Farben, die im Plot verwendet werden sollen.
Sie können c verwenden, um eine Variable anzugeben, die für die Farbwerte verwendet werden soll, und Sie können cmap verwenden, um die tatsächlichen Farben anzugeben, die für die Markierungen im Streudiagramm verwendet werden sollen.
In diesem Tutorial werden einige Beispiele für die praktische Verwendung dieser Funktion erläutert.
Beispiel 1: Farbstreudiagrammpunkte nach Wert
Angenommen, wir haben die folgenden Pandas DataFrame:
import pandas as pd
#Dataframe erstellen
df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29],
'y': [5, 7, 7, 9, 12, 9, 9, 4],
'z': [3, 4, 4, 5, 7, 8, 8, 9]})
#Dataframe anzeigen
df
x y z
0 25 5 3
1 12 7 4
2 15 7 4
3 14 9 5
4 19 12 7
5 23 9 8
6 25 9 8
7 29 4 9
Der folgende Code zeigt, wie Sie ein Streudiagramm mit einer grauen Farbkarte und den Werten für die Variable z als Schatten für die Farbkarte erstellen:
import matplotlib.pyplot as plt
# Streudiagramm erstellen
plt.scatter(df.x, df.y, s=200, c=df.z, cmap='gray')
Für dieses spezielle Beispiel haben wir die Farbkarte "grau" ausgewählt. Eine vollständige Liste der verfügbaren Farbthemen finden Sie in der Dokumentation zur Matplotlib-Farbkarte.
Zum Beispiel könnten wir stattdessen 'Grüne' als Farbkarte angeben:
plt.scatter(df.x, df.y, s=200, c=df.z, cmap='Greens')
Standardmäßig werden Markierungen mit größeren Werten für das Argument c dunkler schattiert. Sie können dies jedoch umkehren, indem Sie einfach _r an den cmap-Namen anhängen:
plt.scatter(df.x, df.y, s=200, c=df.z, cmap='Greens_r')
Beispiel 2: Farbstreudiagrammpunkte nach Kategorie
Angenommen, wir haben die folgenden Pandas DataFrame:
import pandas as pd
#Dataframe erstellen
df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29],
'y': [5, 7, 7, 9, 12, 9, 9, 4],
'z': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C']})
#Dataframe anzeigen
df
x y z
0 25 5 A
1 12 7 A
2 15 7 B
3 14 9 B
4 19 12 B
5 23 9 C
6 25 9 C
7 29 4 C
Der folgende Code zeigt, wie Sie ein Streudiagramm mit der Variablen z erstellen, um die Markierungen basierend auf der Kategorie einzufärben:
import matplotlib.pyplot as plt
groups = df.groupby('z')
for name, group in groups:
plt.plot(group.x, group.y, marker='o', linestyle='', markersize=12, label=name)
plt.legend()
Weitere Python-Tutorials finden Sie hier.
Gestapelte Balkendiagramme in Matplotlib (mit Beispielen)
So ändern Sie die Hintergrundfarbe in Matplotlib (mit Beispielen)
Der einfachste Weg, die Hintergrundfarbe eines Diagramms in Matplotlib zu ändern, ist die Verwendung des Arguments set_facecolor().
Wenn Sie ein Diagramm und eine Achse in Matplotlib mit der folgenden Syntax …