Gráficos de piruletas | Gráficos de piruletas en Python

Contenidos

Este artículo fue publicado como parte del Blogatón de ciencia de datos

Al igual que la evolución de los humanos, las técnicas de visualización de datos también se han desarrollado con el tiempo. En los últimos tiempos, se han introducido mejores técnicas de visualización que nunca. Todos los días, las personas inventan su propio invento de visualización con un OBJETIVO final: mejorar la historia detrás de los datos. Sin duda, las técnicas de visualización avanzada de datos requieren más habilidades y esfuerzo, pero los gráficos siempre valen la pena. Pero gracias al cerebro humano, antes lo que solía tomar varias líneas de códigos ahora es posible con la llamada de función de una sola línea. Esto explica mejor nuestra afirmación de que las técnicas de visualización de datos han evolucionado con el tiempo.

Este artículo discutirá una de las populares y poderosas técnicas de visualización de datos ampliamente utilizadas por las organizaciones para describir los datos y cómo trazarlos en Python. Como dije, trazar estas tramas ya no es una tarea desafiante. Uno debe conocer la biblioteca, las funciones y los argumentos involucrados en la técnica.

54792pexels-alleksana-4475278-3698816
Imagen de alleksana de Pexels

Tabla de contenido

  1. ¿Qué son los gráficos de piruletas?
  2. ¿Cómo trazar un gráfico de piruletas en Python?
  3. Improvisa tus gráficos de piruletas
  4. Comparación de gráficos de barras y gráficos de piruletas
  5. Conclusiones

¿Qué son los gráficos de piruletas?

Los gráficos de piruletas consisten en una barra y un palo que se asemeja al palo y el caramelo de azúcar en su parte superior, respectivamente. Los círculos rellenos se colocan en la parte superior de las barras, lo que le da la semejanza a la piruleta azucarada. El gráfico Lollipop, al igual que el gráfico de barras, se utiliza para comparar las diferentes clases de una categoría. Por lo tanto, esto es una gran herramienta para visualizar la comparación entre las clases. Pero, ¿qué lo hace diferente del gráfico de barras? Primero, facilita la identificación de los valores cuando tenemos un círculo relleno en la parte superior. En segundo lugar, cuando tenemos más clases, digamos más de 10, los gráficos de barras se vuelven desordenados y difíciles de leer para los usuarios finales. Mientras que, por otro lado, Lollipop Charts usa las barras de ancho delgado, lo que crea un espacio más grande para más clases. Nuevamente, al igual que los gráficos de barras, podemos trazar las piruletas horizontalmente cuando el número de clases es alto.

También se demandan Lollipop Charts para mostrar las clasificaciones entre las clases. Por ejemplo, si queremos comparar 20 modelos de automóviles diferentes en función de su consumo de combustible. En escenarios similares, los gráficos Lollipop son útiles para realizar la tarea de manera eficiente y proporcionar gráficos mínimos.

26927pexels-fauxels-3183153-6439916

Imagen de fauxels de Pexels

¿Cómo trazar un gráfico de piruletas en Python?

Los gráficos de Lollipop se pueden trazar en Python de manera eficiente utilizando la biblioteca Matplotlib. La biblioteca Matplotlib viene con una función útil .madre() que está destinado a construir Lollipop Charts. Vamos a ver cómo funciona.

1. Importación de bibliotecas

import matplotlib.pyplot as plt
import numpy as np

2. Creación de datos aleatorios

x = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
y = np.linspace(1, (np.log(0.2 * np.pi)), 10)

3. Trazar el gráfico de piruletas

plt.stem(x, y, use_line_collection = True)
plt.show()

En plt.stem (), hemos establecido el argumento use_line_collection en True. Esto agregará líneas individuales en el gráfico como LineCollection. Si no especificamos este argumento, dará un UserWarning y nos recordará que establezcamos el argumento en True. Esto aumenta el rendimiento de Stem Plot.

4. Poniéndolo todo junto

import matplotlib.pyplot as plt
import numpy as np
x = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
y = np.random.random(1, (np.log(0.2 * np.pi)), 10)
plt.stem(x, y, use_line_collection = True)
plt.show()
42006l1-9239754

Gráfico básico de piruletas (Fuente: PC)

Improvisa tus gráficos de piruletas

Los gráficos de Lollipop se pueden mejorar agregando argumentos a .madre() lo que aumenta la legibilidad y las capacidades de descripción de datos. Pocas improvisaciones que se pueden hacer son:

A. Adición de argumentos adicionales:

import matplotlib.pyplot as plt
import numpy as np
x = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
y = np.linspace(1, (np.log(0.2 * np.pi)), 10)
plt.stem(x, y, markerfmt="s", linefmt="--", basefmt=":", use_line_collection=True)
plt.show()

Al ejecutar este código, obtenemos:

69459l2-8024298

Gráfico de piruletas con argumentos adicionales (fuente: computadora personal)

Aquí, hicimos tres modificaciones:

UNA. Formato Maker – Nosotros especificamos markerfmt = ‘s’, esto reemplazó el círculo relleno de nuestra Tabla de Lollipop a Cuadrado (s se refiere a cuadrado)

B. Formato de línea – Nosotros especificamos linefmat = ‘-‘, esto reemplazó el tallo de nuestro gráfico Lollipop con una línea de dos puntos. (- se refiere al guión doble)

C. Formato de línea base – Nosotros especificamos basefmt = ‘:’, esto reemplazó la línea de base de nuestro Lollipop Chart al colon.

2. Clasificación de la tabla de piruletas

import matplotlib.pyplot as plt
import numpy as np
x = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
y = list(np.linspace(1, (np.log(0.2 * np.pi)), 10))
y.sort()
plt.stem(x, y, markerfmt="s", linefmt="--", basefmt=":", use_line_collection=True)
plt.show()

Al ejecutar este código, obtenemos:

58697l3-9213932

Gráfico de piruletas ordenadas con argumentos adicionales (fuente: computadora personal)

Recuerde que aquí hemos codificado las etiquetas X. Por lo tanto, las etiquetas X no están asociadas con ningún valor. Y es por eso que al ordenar los valores, las etiquetas permanecen en el mismo lugar.

3. Trazado de un gráfico de paleta horizontal

import matplotlib.pyplot as plt
import numpy as np
x = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
y = list(np.linspace(1, (np.log(0.2 * np.pi)), 10))
y.sort()
my_range=range(1,len(x)+1)
plt.hlines(y=x, xmin = 0 , xmax = y, color="skyblue")
plt.plot(y, x, "o")
plt.show()

Al ejecutar este código, obtenemos:

21249l4-4200757

Gráfico de paleta horizontal (Fuente: computadora personal)

Aquí, usamos el método .hlines () para trazar los palos horizontales del gráfico Lollipop, y el azúcar de azúcar se traza usando el método .plot () especificando el marcador como «o».

Comparación de gráficos de barras y gráficos de piruletas

Comparemos el gráfico de barras y el Lollipop con un ejemplo para determinar cuál encaja bien con nuestro ejemplo. Aquí, trazaremos las subparcelas para el gráfico de barras horizontales y el gráfico de paleta horizontal para comparar las figuras una al lado de la otra. Hemos generado datos aleatorios utilizando la biblioteca NumPy. En el eje Y, hemos utilizado el distancia() función y convirtió cada etiqueta en una cadena.

import matplotlib.pyplot as plt
import numpy as np
x = list(map(str, range(1, 35)))
y = list(np.random.random(34))
f, axs = plt.subplots(1,2,figsize=(12,6))
axs[0].barh(x,y)
axs[1].hlines(y=x, xmin = 0 , xmax = y, color="skyblue")
axs[1].plot(y, x, marker = "o", linewidth = 0)
plt.show()

Al ejecutar este código, obtenemos:

25508l7-9466640

Comparación de gráfico de barras horizontales y gráfico de paleta horizontal (Fuente: computadora personal)

Por lo tanto, leer los datos es bastante más fácil en el gráfico de paleta horizontal que en el gráfico de barras horizontales. Uno puede clasificar fácilmente los valores y comparar las clases dentro. Además, un mayor número de clases de una categoría puede saturar el Eje de clases. Por lo tanto, no se debe confiar en un tipo de diagrama para un problema. Trazar diferentes gráficos para un problema y seleccionar el mejor es una decisión más inteligente.

Nota: Aquí estamos usando el método .random () de NumPy random. Cada vez que ejecutamos el código, producirá un conjunto de valores diferente. Por lo tanto, obtendrá diferentes gráficos cada vez que ejecutemos el código.

Conclusiones

En este artículo, aprendimos cómo construir un gráfico Lollipop básico en Python. Pero el tema no termina aquí. Hay una gran cantidad de modificaciones que se pueden hacer en sus gráficos de piruletas. El que aprendimos anteriormente son las modificaciones más básicas que se pueden hacer con menos esfuerzo. Hoy en día, muchas herramientas de BI y lenguajes de programación son capaces de crear visualizaciones avanzadas como Lollipop Charts. De hecho, el .madre() El método de matplotlib está inspirado en el método de la raíz de MATLAB. Podemos llamar a los gráficos Lollipop el caso especial del gráfico de barras. También discutimos qué errores se deben evitar al construir un gráfico de piruletas. Uno puede intentar construir su propia versión de Lollipop Charts porque siempre aprende intentándolo.

Sobre el Autor

Conéctate conmigo en LinkedIn Aquí.

Mira mis otros artículos aquí

Puede proporcionarme sus valiosos comentarios en LinkedIn.

¡Gracias por darnos tu tiempo!

Los medios que se muestran en este artículo sobre gráficos de Lollipop no son propiedad de DataPeaker y se utilizan a discreción del autor.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.