tx3bas commited on
Commit
8a56502
·
verified ·
1 Parent(s): ea88ce5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -17
app.py CHANGED
@@ -24,16 +24,16 @@ st.sidebar.header("Configuración del Gráfico")
24
  chart_title = st.sidebar.text_input("Título del Gráfico", "Gráfico de Franjas de Tiempo Apiladas")
25
 
26
  # Seleccionar formato de tiempo
27
- time_format = st.sidebar.selectbox("Formato de Tiempo", ["Día", "Mes", "Año"])
28
 
29
  # Ingresar valores para franjas de tiempo
30
- num_y_vars = st.sidebar.number_input("Número de Variables Y", min_value=1, max_value=10, value=1, step=1)
31
 
32
  y_values = {}
33
  for i in range(num_y_vars):
34
- y_start = st.sidebar.text_input(f"Fecha de Inicio para Y-{i+1} (YYYY-MM-DD)", key=f"y_start_{i}")
35
- y_end = st.sidebar.text_input(f"Fecha de Fin para Y-{i+1} (YYYY-MM-DD)", key=f"y_end_{i}")
36
- y_name = st.sidebar.text_input(f"Nombre de la Variable Y-{i+1}", key=f"y_name_{i}")
37
  if y_start and y_end and y_name:
38
  y_values[y_name] = (y_start, y_end)
39
 
@@ -48,23 +48,12 @@ for y_name, (start_date, end_date) in y_values.items():
48
 
49
  data = pd.DataFrame(data_list)
50
 
51
- # Convertir el DataFrame para el gráfico
52
- data['Duration'] = data['End'] - data['Start']
53
- data['Start'] = pd.to_datetime(data['Start'])
54
- data['End'] = pd.to_datetime(data['End'])
55
-
56
  # Crear gráfico
57
  fig = px.timeline(data, x_start="Start", x_end="End", y="Variable", color="Variable", title=chart_title)
58
  fig.update_yaxes(categoryorder="total ascending")
59
 
60
  # Personalizar el formato de tiempo en el eje X
61
- if time_format == "Día":
62
- tickformat = "%d-%m-%Y"
63
- elif time_format == "Mes":
64
- tickformat = "%Y-%m"
65
- else:
66
- tickformat = "%Y"
67
-
68
  fig.update_layout(
69
  xaxis_title="Tiempo",
70
  yaxis_title="Variables",
 
24
  chart_title = st.sidebar.text_input("Título del Gráfico", "Gráfico de Franjas de Tiempo Apiladas")
25
 
26
  # Seleccionar formato de tiempo
27
+ time_format = st.sidebar.selectbox("Formato de Tiempo", ["Año"])
28
 
29
  # Ingresar valores para franjas de tiempo
30
+ num_y_vars = st.sidebar.number_input("Número de Variables Y", min_value=1, max_value=10, value=3, step=1)
31
 
32
  y_values = {}
33
  for i in range(num_y_vars):
34
+ y_start = st.sidebar.text_input(f"Fecha de Inicio para Y-{i+1} (YYYY-MM-DD)", key=f"y_start_{i}", value=f"202{i}-01-01")
35
+ y_end = st.sidebar.text_input(f"Fecha de Fin para Y-{i+1} (YYYY-MM-DD)", key=f"y_end_{i}", value=f"202{i+1}-12-31")
36
+ y_name = st.sidebar.text_input(f"Nombre de la Variable Y-{i+1}", key=f"y_name_{i}", value=f"Y-{i+1}")
37
  if y_start and y_end and y_name:
38
  y_values[y_name] = (y_start, y_end)
39
 
 
48
 
49
  data = pd.DataFrame(data_list)
50
 
 
 
 
 
 
51
  # Crear gráfico
52
  fig = px.timeline(data, x_start="Start", x_end="End", y="Variable", color="Variable", title=chart_title)
53
  fig.update_yaxes(categoryorder="total ascending")
54
 
55
  # Personalizar el formato de tiempo en el eje X
56
+ tickformat = "%Y" # Solo formato de año para este caso
 
 
 
 
 
 
57
  fig.update_layout(
58
  xaxis_title="Tiempo",
59
  yaxis_title="Variables",