Cómo establecer el tamaño del marcador de la gráfica de dispersión en Matplotlib
-
El argumento de la palabra clave
s
de la funciónscatter()
-
El parámetro
markersize
para controlar el tamaño en el método deplot
El tamaño de los marcadores en el gráfico de dispersión se controla mediante el argumento de palabra clave s
de la función scatter()
, donde s
es un escalar o un array.
El argumento de la palabra clave s
de la función scatter()
Sintaxis de la función dispersión
:
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
)
s
es un escalar o un array de la misma longitud que x
y y
, para establecer el markersize
. El tamaño del marcador por defecto es rcParams['lines.markersize'] ** 2
. De acuerdo con la documentación, s
es el tamaño del marcador en puntos**2.
Poner el mismo tamaño de marcador de todos los puntos
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 1, 5, 3, 3]
plt.scatter(x, y, s=500, c="green")
plt.title("Increasing markersize of scatter plot")
plt.xlabel("x")
plt.ylabel("y")
plt.show()
Aumentar el tamaño del marcador de los puntos de manera no uniforme
El doble de ancho de los marcadores
Para duplicar el width
(o height
) del marcador necesitamos aumentar s
por un factor de 4
como A = W*H
=> (2W)*(2H) = 4A
.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [0] * len(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("y")
plt.show()
duplicar el área de marcadores
Para duplicar el área del marcador, aumentamos el área
por un factor de 2
para que el tamaño del marcador se escale linealmente con el área
.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [0] * len(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("y")
plt.savefig("doubled area of markers.png")
plt.show()
El parámetro markersize
para controlar el tamaño en el método de 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()
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn