Python

Cambiar el tamaño de los puntos en Matplotlib

En las gráficas de dispersión creadas con Matplotlib existe la posibilidad de modificar el tamaño de los puntos. Siendo incluso posible asignar un valor diferente a cada uno. Por un lado, el hecho de poder cambiar el tamaño de los puntos en Matplotlib, permite adaptar este a la cantidad de valores que se necesita mostrar. Por otro, poder asignar un valor diferente a cada uno se puede usar para agregar información, usando este para mostrar otra característica de los datos.

Modificar el tamaño de los puntos en una gráfica de dispersión

El tamaño de los puntos en la función scatter() se puede modificar mediante la propiedad s. La cual admite tanto valores escalares como tipo lista. Los valores se indican en punto de pantalla, no en píxeles, algo que puede ser confuso y nos obligará a probar diferentes opciones para encontrar el tamaño óptimo para cada una de las figuras. Esto es lo que se hace en el siguiente ejemplo, crear una misma gráfica con los puntos con valores por defecto y otra con un tamaño de 300.

import matplotlib.pyplot as plt

# Conjunto de datos
x = [1, 2, 3, 4, 5]
y = [8, 3, 2, 5, 6]

# Gráfica con el tamaño de punto por defecto
plt.scatter(x, y)
plt.xlabel("X")
plt.ylabel("Valores")
plt.show()

# Gráfica donde el tamaño de punto se cambia a 300
plt.scatter(x, y, s=300)
plt.xlabel("X")
plt.ylabel("Valores")
plt.show()

Al ejecutarlo nos aparece en primer lugar la siguiente gráfica con puntos que son relativamente pequeños.

Gráfica de dispersión creada en Matplotlib con el tamaño de los puntos por defecto

En segundo lugar, se obtiene la siguiente figura en la que los puntos son más grandes que la anterior.

Gráfica de dispersión creada en Matplotlib con el tamaño de los puntos igual a 300

Ahora solo dependería de nuestras preferencias usar uno u otro, ya que ambos representan los mismos datos.

Asignar un valor diferente a cada uno de los puntos

Como se ha comentado con anterioridad el parámetro s también se puede asignar una lista u objeto similar en lugar de un escalar. En este caso cada uno de los valores de la lista se asignará a un punto. Por ejemplo, mediante una lista por compresión, se puede crear una lista cuyo valor sea proporcional a la altura de los puntos y usarlo para indicar el tamaño.

size = [100 * n for n in y]

plt.scatter(x, y, s=size)
plt.xlabel("X")
plt.ylabel("Valores")
plt.show()

Lo que produce la siguiente figura.

Gráfica de dispersión creada en Matplotlib en la que se cambia el tamaño de cada uno de los puntos en base a un valor

De este modo se puede usar el tamaño de los puntos para dar más información a los lectores, pudiéndose usar para mostrar en la misma figura otra característica relacionada con el punto.

Conclusiones

Hoy se ha visto las opciones que ofrece la propiedad s de la función scatter() para cambiar el tamaño de los puntos en Matplotlib. Una propiedad que correctamente usada permite no solo cambiar la forma de las gráficas, sino que incluir información adicional que puede ser de interés para el lector. Creando de este modo figuras más interesantes.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Matplotlib

Recent Posts

De la Regresión Logística al Scorecard: La Transformación Matemática

En un entrada previa explicamos qué son el WOE y el IV y por qué…

1 día ago

Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring

Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…

2 días ago

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

6 días ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

1 semana ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

2 semanas ago

WOE e IV: La Base Matemática del Credit Scoring

Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…

2 semanas ago

This website uses cookies.