File size: 1,226 Bytes
65082b1
 
cfc6bc9
 
 
65082b1
cfc6bc9
 
 
 
 
 
 
 
 
 
 
65082b1
 
 
cfc6bc9
 
 
 
 
65082b1
cfc6bc9
 
 
65082b1
 
 
 
cfc6bc9
2094908
 
 
cfc6bc9
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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)