Bienvenidos a este tutorial de generación de gráficos de funnel con Python y la librería Matplotlib. Si eres un desarrollador, probablemente hayas oído hablar de Matplotlib, una librería gráfica de Python ampliamente utilizada para crear visualizaciones de datos. En este artículo, aprenderás a generar gráficos de funnel con Matplotlib, siguiendo un enfoque paso a paso y con ejemplos prácticos.
¿Qué es un gráfico de funnel?
Para empezar, un gráfico de funnel es una visualización gráfica que se utiliza en el marketing y en los análisis de datos para representar la tasa de conversión en un proceso. Por ejemplo, podríamos representar la tasa de conversión en un proceso de ventas mostrando el número de visitantes del sitio web en la parte superior del gráfico, luego el número de personas que se registran como usuarios, seguido por la cantidad que agrega un producto al carrito y, finalmente, el número de personas que completan una compra.
Instalación de Matplotlib
Antes de empezar, necesitarás instalar Matplotlib. Puedes hacerlo fácilmente a través de pip. Aquí tienes el comando para instalar Matplotlib:
<pip install matplotlib>
Cómo crear un gráfico de funnel con Matplotlib
Para comenzar a crear nuestro gráfico de funnel, necesitamos importar Matplotlib. Aquí tienes el código que necesitamos:
<import matplotlib.pyplot as plt>
Luego, necesitamos generar nuestros datos. Para este ejemplo, hemos generado datos ficticios, simplemente para mostrar cómo funciona:
<etapas = ['Visitantes', 'Usuarios', 'Añaden al carrito', 'Compran']
datos = [3500, 1200, 125, 50]>
Ahora, crearemos el gráfico de funnel en sí mismo. Matplotlib proporciona una serie de opciones diferentes para la visualización de datos, pero para nuestro ejemplo utilizaremos un gráfico de barras apiladas. Este tipo de gráfico es una buena opción para mostrar una serie de etapas en un proceso. Aquí tienes el código:
<def crear_grafico(datos, etapas):
fig, ax = plt.subplots()
ax.barh(etapas, datos, color=['#FF8C00', '#FFA07A', '#FFDAB9', '#FFE4E1'])
ax.invert_yaxis() # Los datos van de top a bottom
ax.set_xlabel('Número de usuarios')
ax.set_title('Gráfico de funnel')
plt.show()
crear_grafico(datos, etapas)>
Explicando el Código
Primero, hemos utilizado Matplotlib para crear una figura y un par de ejes (o dos objetos que se utilizan para dibujar el gráfico). A continuación, hemos utilizado el método ‘barh’ para dibujar nuestras barras. Aquí es donde especificamos qué valores queremos representar y cómo se deben colorear las barras. El argumento ‘color’ especifica el color de cada una de las barras.
También hemos utilizado el método ‘invert_yaxis’ para invertir los datos, de modo que los valores más bajos se encuentren en la parte superior del gráfico. Hemos añadido un título y una etiqueta para el eje x, y, finalmente, hemos utilizado ‘show’ para mostrar el gráfico.
Personalizando el gráfico de funnel
Siguiendo con el código anterior, puedes hacer personalizaciones fáciles para que el gráfico de funnel sea aún más efectivo. Por ejemplo, puedes añadir etiquetas de datos a cada una de las barras utilizando el método ‘text’. También puedes añadir leyendas, cambiar los colores y ajustar el tamaño de la fuente. Aquí tienes un ejemplo de cómo puedes personalizar tu propio gráfico de funnel:
<def crear_grafico(datos, etapas):
fig, ax = plt.subplots(figsize=(11, 7))
ax.barh(etapas, datos, color=['#FF8C00', '#FFA07A', '#FFDAB9', '#FFE4E1'])
ax.invert_yaxis()
for i, val in enumerate(datos):
ax.text(val, i, str(val), color='black', fontweight='bold')
ax.set_xlabel('Número de usuarios', fontsize=14)
ax.set_title('Gráfico de funnel', fontsize=18)
ax.legend(['Número de usuarios'], fontsize=14, loc='lower right')
plt.tight_layout()
plt.show()
crear_grafico(datos, etapas)>
Explicando el código
Primero, hemos utilizado el parámetro ‘figsize’ para establecer el tamaño de nuestro gráfico. Luego, hemos añadido etiquetas de datos a cada una de las barras utilizando un bucle for e ‘enumerate’. También hemos añadido una leyenda, especificado un tamaño de fuente para el título y la etiqueta del eje x y hemos utilizado ‘tight_layout’ para ajustar los elementos del gráfico para que se ajusten perfectamente.
¿Dónde puedes utilizar gráficos de funnel?
Los gráficos de funnel son una gran opción en muchos casos de marketing y análisis de datos. Algunos ejemplos específicos de dónde podrías utilizar un gráfico de funnel son:
- El proceso de conversión de una tienda en línea
- El proceso de registro de un nuevo usuario en un sitio web
- El flujo de clicks en un banner publicitario
- El proceso de conversión de oportunidades en ventas para un equipo de ventas
En resumen, los gráficos de funnel son una opción sólida para visualizar series de etapas en un proceso y analizar la tasa de conversión. Matplotlib proporciona una gran cantidad de opciones para personalizar el gráfico de funnel y hacerlo aún más efectivo.
Si quieres saber más acerca de Matplotlib, visita la documentación oficial aquí.