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

Desafío: visualizando datos de ventas de tiendas diferentes

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]}
df_ventas = pd.DataFrame(ventas_2022, index=tiendas)
df_ventas.head()

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

# Usamos las filas del DataFrame directamente, ya que las columnas representan los meses del año.
meses = df_ventas.columns.tolist()

# Creamos una figura con 2 filas y 2 columnas de subgráficos (total: 4 gráficos)
fig, axs = plt.subplots(2, 2, figsize=(10, 6))

# Título general del conjunto de gráficos (subplots)
# El parámetro y=1.02 eleva el título un poco sobre los subgráficos
fig.suptitle('Ventas anuales en 4 tiendas', y=1.02)

# Ajustamos el espacio entre subgráficos
# hspace → espacio vertical entre filas
# wspace → espacio horizontal entre columnas
fig.subplots_adjust(hspace=0.5, wspace=0.3)


# Primer gráfico: posición [0,0] → A
axs[0, 0].plot(df_ventas.loc['A', meses], color= '#cd5a0f')
axs[0, 0].set_title('Tienda A')

# Segundo gráfico: posición [0,1] → B
axs[0, 1].plot(df_ventas.loc['B', meses], color = '#a8bb09' )
axs[0, 1].set_title('Tienda B')

# Tercer gráfico: posición [1,0] → C
axs[1, 0].plot(df_ventas.loc['C', meses], color ='#1295bf')
axs[1, 0].set_title('Tienda c')

# Cuarto gráfico: posición [1,1] → D
axs[1, 1].plot(df_ventas.loc['D', meses], color ='#cd0fb3')
axs[1, 1].set_title('Tienda D')

# Establecemos el límite inferior y superior del eje y para todos los gráficos
ymin = 0    # Límite inferior del eje y
ymax = 450 # Límite superior del eje y

# Aplicamos los límites del eje y a cada uno de los subgráficos
for ax in axs.ravel():
  ax.set_ylim(ymin, ymax)  # Establece el rango del eje y desde 0 hasta 7000


# Configuramos cada subgráfico por separado usando un bucle
for ax in axs.flat:
    
    # Establecemos una separación de 100 entre cada marca del eje y
    ax.yaxis.set_major_locator(plt.MultipleLocator(100))
    # Etiqueta del eje x
    ax.set_xlabel('Meses')
    # Etiqueta del eje y
    ax.set_ylabel('Ventas')
    # Mostramos líneas de referencia con un estilo de línea punteada
    ax.grid(linestyle='--')


# Mostramos todos los gráficos
plt.show()

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

1 respuesta

¡Hola Estudiante, espero que estés bien!

Parece que ya has creado correctamente los subgráficos para visualizar las ventas de las tiendas a lo largo del año. Aquí hay algunas observaciones y sugerencias para mejorar tu gráfico:

  1. Consistencia en los títulos: Asegúrate de que todos los títulos de las tiendas estén en mayúsculas para mantener la consistencia. Cambia "Tienda c" a "Tienda C".

  2. Etiquetas de los ejes: Las etiquetas de los ejes ya están bien colocadas. Asegúrate de que sean claras y legibles.

  3. Colores y estilo: Los colores que elegiste ayudan a diferenciar cada gráfico. Considera usar una paleta de colores que sea más accesible para personas con daltonismo si es necesario.

  4. Tamaño de la figura: Si necesitas más espacio para que los gráficos sean más legibles, puedes aumentar el tamaño de la figura ajustando el parámetro figsize en plt.subplots.

  5. Legibilidad de los meses: Si los nombres de los meses se ven demasiado juntos, considera rotar las etiquetas del eje x para mejorar la legibilidad:

    for ax in axs.flat:
        ax.set_xticklabels(meses, rotation=45)
    
  6. Líneas de cuadrícula: Las líneas de cuadrícula están bien para ayudar a leer los valores, pero asegúrate de que no sean demasiado intrusivas.

Espero que estas sugerencias te sean útiles. ¡Buena suerte con tu visualización! Espero haber ayudado y buenos estudios!