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

¡Otra etapa de desafío está comenzando! Aprovecha la oportunidad propuesta y sumérgete en las posibilidades. En la clase anterior, tuviste el desafío de crear una figura con subgráficos que presentan la variación en el número de ventas en cuatro tiendas diferentes a lo largo de un año. ¡Ahora es el momento de llevar esa figura a un nuevo nivel! ¡Es hora de personalizarla! En esta segunda parte del desafío, debes explorar las opciones de personalización de los subgráficos para hacer que la figura sea más clara y atractiva para la gerencia de la empresa.

Algunas ideas de personalización que puedes explorar son:

Cambiar la posición de los títulos de los subgráficos a la izquierda. Aumentar el tamaño de la fuente del título general de la figura para resaltarlo. Aumentar el tamaño de los títulos y etiquetas de los ejes de los subgráficos. Hacer que las líneas sean más gruesas. Cambiar el color de las líneas de cada tienda para diferenciarlas aún más.

fig, axs = plt.subplots(2, 2, figsize=(10, 6))
fig.subplots_adjust(hspace=0.5, wspace=0.3)
fig.suptitle('Ventas mensuales en las 4 tiendas durante 2022',fontsize=20)

axs[0,0].plot(df.columns, df.loc['A'],lw=3,color='b')
axs[0,0].set_title('Tienda A',fontsize=16,loc='left')

axs[0,1].plot(df.columns, df.loc['B'],lw=3,color='silver')
axs[0,1].set_title('Tienda B',fontsize=16,loc='left')

axs[1,0].plot(df.columns, df.loc['C'],lw=3,color='gold')
axs[1,0].set_title('Tienda C',fontsize=16,loc='left')

axs[1,1].plot(df.columns, df.loc['D'],lw=3,color='g')
axs[1,1].set_title('Tienda D',fontsize=16,loc='left')


ymin = 0
ymax = 450

for ax in axs.ravel():
    ax.set_ylim(ymin, ymax)

for ax in axs.flat:
    ax.set_xlabel('Mes',fontsize=16)
    ax.set_ylabel('Ventas',fontsize=16)
    ax.grid()
    ax.spines['top'].set_visible(False)
    ax.spines['right'].set_visible(False)

plt.show()
1 respuesta

¡Hola, Paul!

¡Qué emocionante que estés en esta etapa de personalización de gráficos! Personalizar subgráficos es una excelente manera de presentar datos de manera clara y atractiva. Veamos cómo puedes aplicar las ideas de personalización que mencionaste:

  1. Cambiar la posición de los títulos de los subgráficos a la izquierda: Ya lo has hecho correctamente usando loc='left' en set_title.

  2. Aumentar el tamaño de la fuente del título general de la figura: Ya lo has configurado a fontsize=20, lo cual es bastante visible. Si deseas que sea aún más prominente, podrías aumentarlo un poco más.

  3. Aumentar el tamaño de los títulos y etiquetas de los ejes de los subgráficos: Ya has aumentado el tamaño de las etiquetas de los ejes a fontsize=16. Podrías considerar incrementarlo si sientes que aún no es suficientemente claro.

  4. Hacer que las líneas sean más gruesas: Has configurado el ancho de línea lw=3, lo cual es una buena elección. Si quieres que sean aún más destacadas, podrías intentar con un valor mayor.

  5. Cambiar el color de las líneas de cada tienda para diferenciarlas aún más: Estás utilizando colores distintos para cada tienda. Asegúrate de que los colores sean fácilmente distinguibles entre sí. Podrías usar una paleta de colores más contrastante si es necesario.

Aquí tienes un ejemplo de cómo podrías optimizar tu código usando un bucle para aplicar configuraciones similares a todos los subgráficos:

colors = ['b', 'silver', 'gold', 'g']
tiendas = ['A', 'B', 'C', 'D']

for i, ax in enumerate(axs.flat):
    ax.plot(df.columns, df.loc[tiendas[i]], lw=3, color=colors[i])
    ax.set_title(f'Tienda {tiendas[i]}', fontsize=16, loc='left')
    ax.set_xlabel('Mes', fontsize=16)
    ax.set_ylabel('Ventas', fontsize=16)
    ax.set_ylim(ymin, ymax)
    ax.grid()
    ax.spines['top'].set_visible(False)
    ax.spines['right'].set_visible(False)

Con este enfoque, reduces la repetición de código y facilitas futuras modificaciones. ¡Espero que estas sugerencias te ayuden a crear una figura impresionante para la gerencia de la empresa!

Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!