Wie man die Markergröße eines Streudiagramms in Matplotlib setzt
-
s
Schlüsselwort-Argument der Funktionscatter()
-
Markierungsgröße
-Parameter zur Steuerung der Größe implot
-Verfahren
Die Größe der Marker im Streudiagramm wird durch das s
-Schlüsselwortargument der Funktion scatter()
kontrolliert, wobei s
ein Skalar oder ein Array ist.
s
Schlüsselwort-Argument der Funktion scatter()
Syntax für die Funktion Streuen
:
matplotlib.pyplot.scatter(
x,
y,
s=None,
c="b",
marker="o",
cmap=None,
norm=None,
vmin=None,
vmax=None,
alpha=None,
linewidths=None,
faceted=True,
verts=None,
hold=None,
**kwargs
)
wobei s
ein Skalar oder ein Array mit der gleichen Länge wie x
und y
ist, um die Markierungsgröße
zu setzen. Die Standard-Markergröße ist rcParams['lines.markersize'] ** 2
. Laut Dokumentation ist s
die Markergröße in Punkten**2
.
Gleiche Markergröße für alle Punkte setzen
import numpy as np
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = np.sin(x)
plt.scatter(x, y, s=500, c="magenta")
plt.title("Scatter plot of sinx")
plt.xlabel("x")
plt.ylabel("sinx")
plt.xlim(0, 6)
plt.ylim(-2, 2)
plt.show()
Markergröße der Punkte ungleichmäßig erhöhen
Die doppelte Breite der Markierungen
Um die width
(oder height
) des Markers zu verdoppeln, müssen wir s
um den Faktor 4
erhöhen, da A = W*H => (2W)*(2H)= 4A
.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [a ** 2 for a in x]
s = [10 * 4 ** n for n in range(len(x))]
plt.scatter(x, y, s=s)
plt.title("Doubling width of marker in scatter plot")
plt.xlabel("x")
plt.ylabel("x**2")
plt.xlim(0, 6)
plt.ylim(0, 30)
plt.show()
Verdoppelung der Fläche der Markierungen
Um die Fläche des Markers zu verdoppeln, vergrößern wir die “Fläche” um den Faktor 2
, so dass die Größe des Markers linear mit der “Fläche” skaliert.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [a ** 2 for a in x]
s = [10 * 2 ** n for n in range(len(x))]
plt.scatter(x, y, s=s)
plt.title("Doubling area of marker in scatter plot")
plt.xlabel("x")
plt.ylabel("x**2")
plt.xlim(0, 6)
plt.ylim(0, 30)
plt.show()
Markierungsgröße
-Parameter zur Steuerung der Größe im plot
-Verfahren
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [0] * len(x)
plt.plot(x, y, "bo", markersize=10)
plt.show()
Hier wird die Fläche des Kreises durch den Parameter Markergröße
gesteuert.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn