Comment définir la taille du marqueur du nuage de points dans Matplotlib
-
Argument mot-clé
sde la fonctionscatter() -
Paramètre
markersizepour contrôler la taille dans la méthodeplot
La taille des marqueurs dans le nuage de points est contrôlée par l’argument mot-clé s de la fonction scatter() , où s est un scalaire ou un tableau.
Argument mot-clé s de la fonction scatter()
Syntaxe de scatter:
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
)
où, s est un scalaire ou un tableau de la même longueur que x et y, pour définir la taille du marqueur. La taille de marqueur par défaut est rcParams['lines.markersize'] ** 2. Selon la documentation, s est la taille du marqueur en points**2.
Définir la même taille de marqueur de tous les points
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()

Augmenter la taille de marqueur des points de manière non uniforme
doubler la largeur des marqueurs
Pour doubler la width (ou la height) du marqueur, nous devons augmenter s par un facteur de 4 comme 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()

doubler la surface des marqueurs
Pour doubler la zone du marqueur, nous augmentons la zone d’un facteur 2 afin que la taille du marqueur évolue linéairement avec la zone.
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()

Paramètre markersize pour contrôler la taille dans la méthode plot
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [0] * len(x)
plt.plot(x, y, "bo", markersize=10)
plt.show()
Ici, la zone du cercle est contrôlée par le paramètre markersize.

Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn