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

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

# Lista de colores personalizados para cada tienda
color_venta = ['#cd5a0f', '#a8bb09', '#1295bf', '#cd0fb3']
color_marker = ['#0f7acd', '#4a09bb', '#bf3f12', '#0fcd21']

# Nombres de las tiendas
tiendas = ['A', 'B', 'C', 'D']

# Obtenemos la lista de meses desde las columnas del DataFrame
meses = df_ventas.columns.tolist()

# Creamos una figura con 4 subgráficos (2 filas x 2 columnas)
fig, axs = plt.subplots(2, 2, figsize=(14, 8))

# Título general del conjunto de gráficos
fig.suptitle('Ventas anuales en 4 tiendas', y=1.02, fontsize=20)

# Ajustamos el espacio entre los subgráficos
fig.subplots_adjust(hspace=0.5, wspace=0.3)

# Recorremos los subgráficos planos junto con el índice correspondiente
for i, ax in enumerate(axs.flat):
    # Graficamos las ventas de cada tienda con su color correspondiente
    ax.plot(df_ventas.loc[tiendas[i], meses], color=color_venta[i], lw=3, 
            marker='o', ms=8, markerfacecolor=color_marker[i], 
            markeredgecolor=color_marker[i])


    # Asignamos el título del subgráfico según la tienda
    ax.set_title(f'Tienda {tiendas[i]}',loc='left',fontsize=18)

    # Establecemos límites fijos para el eje y (de 0 a 450)
    ax.set_ylim(0, 450)
    
    # Establecemos una separación de 100 entre cada marca del eje y
    ax.yaxis.set_major_locator(plt.MultipleLocator(100))
    
    # Etiquetas de los ejes
    ax.set_xlabel('Meses')
    ax.set_ylabel('Ventas')
    
    # Quitamos la etiqueta del eje x
    ax.set_xlabel('')

    # Eliminamos las marcas del eje x (los ticks)
    ax.tick_params(axis='x', which='both', size=0)

    # Eliminamos las marcas del eje Y (los ticks)
    ax.tick_params(axis='y', which='both', size=0)

    # Mostramos líneas de guía punteadas
    ax.grid(linestyle='--')
  
fig.savefig('/content/drive/MyDrive/Pandas_4/ventas_anuales_4_tiendas.png',
            transparent=False, dpi=300, bbox_inches='tight')

# Mostramos los gráficos en pantalla
plt.show()

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