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.