punto_organico / ventas_anuales_clientes.py
perezcatriel's picture
[FIX] colores y estilos
65082b1
raw
history blame
1.23 kB
from datetime import date
import pandas as pd
import plotly.express as px
import streamlit as st
def ventas_anuales():
# Carga del archivo CSV
df = pd.read_csv('data/po_excel_original.csv')
# Transforma las columnas de meses en filas
df = df.melt(id_vars='Año', var_name='Mes', value_name='Ventas')
# Reordena los meses en orden cronológico
meses_ordenados = ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago',
'Sep', 'Oct', 'Nov', 'Dic']
df['Mes'] = pd.Categorical(
df['Mes'], categories=meses_ordenados, ordered=True
)
# Ordena el DataFrame por año y mes
df = df.sort_values(['Año', 'Mes'])
# Filtra los datos hasta el último mes mostrado
ultimo_mes_mostrado = meses_ordenados[date.today().month - 1]
df = df[df['Mes'] <= ultimo_mes_mostrado]
# Crea el gráfico de barras
fig = px.bar(
df, x='Mes', y='Ventas', title='Ventas Anuales',
labels={'Ventas': 'Ventas ($)', 'Mes': 'Mes', 'Año': 'Año'}
)
# Cambia el color de las barras a verde
fig.update_traces(marker_color='green')
# Muestra el gráfico en Streamlit
st.plotly_chart(fig, use_container_width=True)