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.
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.
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.
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
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.
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.
Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…
En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…
En casi cualquier análisis estadístico —ya sea en medicina, psicología, economía o ciencia de datos—…
El MSCI World Index suele presentarse como “la ventana al mundo” para quienes invierten en…
En el mundo del análisis de datos solemos escuchar una idea poderosa: cuantos más datos,…
¿Te has encontrado con este error al intentar instalar paquetes con npm? npm ERR! code…
This website uses cookies.