Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

10 Desafío: visualizando datos de ventas de tiendas diferentes

Trabajas como Analista de Datos en una empresa minorista y te asignaron la tarea de crear una figura con subgráficos que muestre la variación en el número de ventas en cuatro tiendas diferentes a lo largo de un año. La gerencia de la empresa necesita visualizar claramente las tendencias de ventas en cada tienda, para que puedan tomar decisiones estratégicas sobre inventarios y acciones de marketing. Para ello, debes crear cuatro subgráficos dispuestos en dos filas y dos columnas, donde cada subgráfico represente una tienda diferente. En este desafío, cada subgráfico debe presentar un gráfico de líneas que muestre la variación del número de ventas a lo largo de los meses del año.

¡Ahora es el momento de mostrar tus habilidades en análisis de datos y visualización! Para crear el DataFrame con el número de ventas de las tiendas y crear la figura, utiliza la siguiente información:

tiendas = ['A', 'B', 'C', 'D']
ventas_2022 = {'Ene': [100, 80, 150, 50],
'Feb': [120, 90, 170, 60],
'Mar': [150, 100, 200, 80],
'Abr': [180, 110, 230, 90],
'May': [220, 190, 350, 200],
'Jun': [230, 150, 280, 120],
'Jul': [250, 170, 300, 140],
'Ago': [260, 180, 310, 150],
'Sep': [240, 160, 290, 130],
'Oct': [220, 140, 270, 110],
'Nov': [400, 220, 350, 190],
'Dec': [300, 350, 400, 250]}

Copia el código
Consejo: Para facilitar la creación de los subgráficos, puedes definir la columna "tiendas" como índice del DataFrame y utilizar la propiedad loc de la biblioteca Pandas para trazar cada una de las tiendas.

¡No olvides agregar un título general a la figura, títulos a los subgráficos y etiquetas a los ejes! Además, asegúrate del tamaño de la figura y del espaciado entre los subgráficos.

import pandas as pd
import matplotlib.pyplot as plt

tiendas = ['A', 'B', 'C', 'D']
ventas_2022 = {
    'Ene': [100, 80, 150, 50],
    'Feb': [120, 90, 170, 60],
    'Mar': [150, 100, 200, 80],
    'Abr': [180, 110, 230, 90],
    'May': [220, 190, 350, 200],
    'Jun': [230, 150, 280, 120],
    'Jul': [250, 170, 300, 140],
    'Ago': [260, 180, 310, 150],
    'Sep': [240, 160, 290, 130],
    'Oct': [220, 140, 270, 110],
    'Nov': [400, 220, 350, 190],
    'Dec': [300, 350, 400, 250]
}

# Creación del DataFrame
df_ventas = pd.DataFrame(ventas_2022, index=tiendas)

# Configuración de la figura con una cuadrícula de 2x2
fig, ax = plt.subplots(2, 2, figsize=(14, 10))

# Lista de meses para el eje X
meses = df_ventas.columns

# Trazado de los subgráficos por tienda

# Tienda A (Fila 0, Columna 0)
ax[0, 0].plot(meses, df_ventas.loc['A'], color='blue', marker='o', label='Tienda A')
ax[0, 0].set_title('Tendencia: Tienda A')
ax[0, 0].set_xlabel('Mes')
ax[0, 0].set_ylabel('N° de Ventas')
ax[0, 0].grid(True, linestyle='--', alpha=0.6)

# Tienda B (Fila 0, Columna 1)
ax[0, 1].plot(meses, df_ventas.loc['B'], color='green', marker='s', label='Tienda B')
ax[0, 1].set_title('Tendencia: Tienda B')
ax[0, 1].set_xlabel('Mes')
ax[0, 1].set_ylabel('N° de Ventas')
ax[0, 1].grid(True, linestyle='--', alpha=0.6)

# Tienda C (Fila 1, Columna 0)
ax[1, 0].plot(meses, df_ventas.loc['C'], color='red', marker='^', label='Tienda C')
ax[1, 0].set_title('Tendencia: Tienda C')
ax[1, 0].set_xlabel('Mes')
ax[1, 0].set_ylabel('N° de Ventas')
ax[1, 0].grid(True, linestyle='--', alpha=0.6)

# Tienda D (Fila 1, Columna 1)
ax[1, 1].plot(meses, df_ventas.loc['D'], color='orange', marker='v', label='Tienda D')
ax[1, 1].set_title('Tendencia: Tienda D')
ax[1, 1].set_xlabel('Mes')
ax[1, 1].set_ylabel('N° de Ventas')
ax[1, 1].grid(True, linestyle='--', alpha=0.6)

fig.suptitle('Análisis Comparativo de Ventas Mensuales \n Año 2022', fontsize=18, fontweight='bold')
plt.tight_layout(rect=[0, 0.03, 1, 0.95]) # Ajusta el espacio para evitar solapamientos

plt.show()

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad