Comment définir la taille du marqueur du nuage de points dans Matplotlib
-
Argument mot-clé
s
de la fonctionscatter()
-
Paramètre
markersize
pour 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