Python

Agregar etiquetas a los puntos en Matplotlib

En los gráficos de dispersión una manera de ayudar a los lectores a identificar valores especiales es incluir una etiqueta. Asignando un nombre a ese punto específico. La forma más sencilla para agregar etiquetas a los puntos en Matplotlib es mediante el uso de la función annotate(). Una función sencilla que solamente requiere la cadena de texto con el mensaje y la posición en la que se desea situar.

Agregar una etiqueta asociada a un punto en Matplotlib

El proceso para mostrar un mensaje asociado a un valor en una gráfica de dispersión creada con Matplotlib es sencillo. Tras la creación de una gráfica, pero antes de dibujarla o guardarla, se puede llamar a la función annotate() para insertar la anotación. Llamada que se puede realizar varias veces para agregar múltiples textos.

Este proceso se puede ver en el siguiente código. En el que, una vez importado Matplotlib, inicialmente se definen dos listas (x e y) con los valores que se desean dibujar. Tras lo cual se dibujan mediante la función scatter(). Una vez hecho esto se incluye un anotación mediante el uso de la función annotate(), a la que se la ha pasado como primer parámetro el texto y segundo una tupla con la posición en la que se desea dibujar el mensaje, en este caso el segundo punto de la lista. Finalmente, se agrega una etiqueta para el eje de abscisas y otra para el eje de coordenadas antes de dibujar la figura.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [4, 3, 2, 5, 3]

plt.scatter(x, y, label="Valores")

plt.annotate("Punto 2", (2, 3))

plt.xlabel("X")
plt.ylabel("Valores")
plt.show()

Una vez ejecutado este código se obtiene la siguiente figura en la que se puede apreciar la anotación.

Gráfica de dispersión con una anotación cerca del segundo punto creada con Matplotlib

Posiblemente la etiqueta esté demasiado cerca del punto, pero esto se puede solucionar fácilmente separando ligeramente la posición en la que comienza a escribirse el texto.

Agregar múltiples etiquetas a los puntos en Matplotlib

Como se ha comentado anteriormente, es posible incluir en la gráfica tantas anotaciones como sea necesario. Esto es algo que se muestra en el siguiente código donde se emplea un bucle para agregar las anotaciones.

annotations=["Punto 1", "Punto 2", "Punto 3", "Punto 4", "Punto 5"]

plt.scatter(x, y, label="Valores")
plt.xlabel("X")
plt.ylabel("Valores")

for i, label in enumerate(annotations):
    plt.annotate(label, (x[i] + 0.1, y[i]))
    
plt.show()

Al ejecutar este programa se obtiene la siguiente figura

Gráfica de dispersión con múltiples anotaciones creada con Matplotlib

Aunque es necesario ser precavidos, demasiadas anotaciones pueden tener el efecto contrario ya que puede hacer más complicada la interpretación de la gráfica.

Conclusiones

La función annotate() de Matplotlib puede ser una gran aliada para hacer más fácil la interpretación de una gráfica. Al permitir asociar etiquetas a los puntos en Matplotlib. Reforzado de esta manera la información incluida en la gráfica.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Matplotlib

Recent Posts

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

3 días ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

5 días ago

Curiosidad: ¿Por qué usamos p < 0.05? Un umbral que cambió la historia de la ciencia

En casi cualquier análisis estadístico —ya sea en medicina, psicología, economía o ciencia de datos—…

1 semana ago

¿Está concentrado el MSCI World? Un análisis con Gini, Lorenz y leyes de potencia

El MSCI World Index suele presentarse como “la ventana al mundo” para quienes invierten en…

2 semanas ago

Curiosidad: La maldición de la dimensionalidad, o por qué añadir más datos puede empeorar tu modelo

En el mundo del análisis de datos solemos escuchar una idea poderosa: cuantos más datos,…

2 semanas ago

Error npm ERR! code EACCES al instalar paquetes en Node.js: Cómo solucionarlo paso a paso

¿Te has encontrado con este error al intentar instalar paquetes con npm? npm ERR! code…

3 semanas ago

This website uses cookies.