-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgrafico_lineas.py
39 lines (34 loc) · 1.23 KB
/
grafico_lineas.py
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
import pandas as pd
import plotly.express as px
def crear_grafico(df):
# conversion de la fecha a datetime
df['fecha_compra'] = pd.to_datetime(df['fecha_compra'])
# debido a que los datos del 2021 parecen estar viciados para esta consulta se filtran y no se toman en cuenta
#df = df[df['fecha_compra'].dt.year != 2021]
df = df.groupby(['anio', 'mes', 'num_mes'])['ingreso_neto'].sum().reset_index().sort_values(by=['anio', 'num_mes'])
#df = df.set_index('fecha_compra').groupby(pd.Grouper(freq='ME'))['ingreso_neto'].sum().reset_index()
# grafica
fig = px.line(df,
x = 'mes',
y = 'ingreso_neto',
range_y = (0, df.max()),
color = 'anio',
line_dash = 'anio',
labels={'anio': 'Año'}
)
fig.update_layout(yaxis_title = 'Ingresos ($)')
fig.update_layout(xaxis_title = 'Mes')
fig.update_layout(
title={
'text': 'Ingresos mensuales',
'y':0.95,
'x':0.15,
'xanchor': 'center',
'yanchor': 'top',
'font': {
'color': 'gold',
'size': 16
}
}
)
return fig