Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío: personalizando los subplots con los datos de ventas de tiendas diferentes

1 respuesta

¡Hola Estudiante, espero que estés bien!

Para personalizar tus subgráficos de manera efectiva, puedes seguir estos pasos en tu código:

  1. Cambiar la posición de los títulos de los subgráficos a la izquierda:

    ax.set_title(f'Ventas mensuales Tienda {tiendas[i]}', loc='left')
    
  2. Aumentar el tamaño de la fuente del título general:

    fig.suptitle('Número de ventas mensual de las tiendas A, B, C, D en 2022', fontsize=16)
    
  3. Aumentar el tamaño de los títulos y etiquetas de los ejes de los subgráficos:

    ax.set_xlabel('Mes', fontsize=10)
    ax.set_ylabel('Número de ventas', fontsize=10)
    
  4. Hacer que las líneas sean más gruesas:

    ax.plot(meses, ventas, color=color, linewidth=2)
    
  5. Cambiar el color de las líneas de cada tienda:
    Define una lista de colores y úsala en el bucle:

    colores = ['green', 'blue', 'purple', 'red']
    for i, ax in enumerate(axs.flat):
        ventas = [ventas_2022[mes][i] for mes in meses]
        ax.plot(meses, ventas, color=colores[i], linewidth=2)
    

Aquí tienes un ejemplo completo que puedes ajustar según tus necesidades:

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]
}

meses = list(ventas_2022.keys())
fig, axs = plt.subplots(2, 2, figsize=(10, 8))
fig.suptitle('Número de ventas mensual de las tiendas A, B, C, D en 2022', fontsize=16)

colores = ['green', 'blue', 'purple', 'red']

for i, ax in enumerate(axs.flat):
    ventas = [ventas_2022[mes][i] for mes in meses]
    ax.plot(meses, ventas, color=colores[i], linewidth=2)
    ax.set_title(f'Ventas mensuales Tienda {tiendas[i]}', loc='left')
    ax.set_xlabel('Mes', fontsize=10)
    ax.set_ylabel('Número de ventas', fontsize=10)

plt.tight_layout(rect=[0, 0.03, 1, 0.95])
plt.show()

Espero que esto te ayude a personalizar tus gráficos de manera efectiva. ¡Bons estudios!