MarcosRodrigo commited on
Commit
1ae5382
·
verified ·
1 Parent(s): f5cec99

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -8
app.py CHANGED
@@ -240,12 +240,16 @@ elif menu == "History":
240
  # elif menu == "Graph":
241
  # st.title("Breakfast Poll History - Graph View")
242
 
 
 
 
 
243
  # # Prepare data for plotting
244
  # if st.session_state.history:
245
  # history_data = []
246
  # for record in st.session_state.history:
247
  # # Extract only the date part (YYYY-MM-DD) for display
248
- # date = record['Date']
249
  # for index, row in record['Summary'].iterrows():
250
  # for drink in row['Drinks'].split(', '):
251
  # history_data.append({'Date': date, 'Item': drink, 'Type': 'Drink'})
@@ -313,18 +317,29 @@ elif menu == "Graph":
313
  history_df = pd.DataFrame(history_data)
314
 
315
  # Count occurrences of each item per date
316
- item_counts = history_df.groupby(['Date', 'Item']).size().reset_index(name='Count')
317
 
318
- # Get a list of unique items (Drinks and Food)
319
- unique_items = item_counts['Item'].unique()
 
320
 
321
  # Create a dictionary to store the checkbox values for each item
322
  item_visibility = {}
323
-
 
324
  st.sidebar.header("Select Items to Display")
325
- # Create a checkbox for each unique item in the sidebar
326
- for item in unique_items:
327
- item_visibility[item] = st.sidebar.checkbox(item, value=True)
 
 
 
 
 
 
 
 
 
328
 
329
  # Filter the data based on selected items
330
  selected_items = [item for item, visible in item_visibility.items() if visible]
 
240
  # elif menu == "Graph":
241
  # st.title("Breakfast Poll History - Graph View")
242
 
243
+ # # Load the history if not already loaded
244
+ # if not st.session_state.history:
245
+ # st.session_state.history = load_history()
246
+
247
  # # Prepare data for plotting
248
  # if st.session_state.history:
249
  # history_data = []
250
  # for record in st.session_state.history:
251
  # # Extract only the date part (YYYY-MM-DD) for display
252
+ # date = record['Date'].split("_")[0] # Use only the YYYY-MM-DD portion of the date
253
  # for index, row in record['Summary'].iterrows():
254
  # for drink in row['Drinks'].split(', '):
255
  # history_data.append({'Date': date, 'Item': drink, 'Type': 'Drink'})
 
317
  history_df = pd.DataFrame(history_data)
318
 
319
  # Count occurrences of each item per date
320
+ item_counts = history_df.groupby(['Date', 'Item', 'Type']).size().reset_index(name='Count')
321
 
322
+ # Separate items into Drinks and Food, and sort them alphabetically
323
+ drinks = sorted(item_counts[item_counts['Type'] == 'Drink']['Item'].unique())
324
+ foods = sorted(item_counts[item_counts['Type'] == 'Food']['Item'].unique())
325
 
326
  # Create a dictionary to store the checkbox values for each item
327
  item_visibility = {}
328
+
329
+ # Create interactive checkboxes for Drinks and Food in the sidebar
330
  st.sidebar.header("Select Items to Display")
331
+
332
+ # Drinks Section
333
+ if drinks:
334
+ st.sidebar.subheader("Drinks")
335
+ for item in drinks:
336
+ item_visibility[item] = st.sidebar.checkbox(item, value=True)
337
+
338
+ # Food Section
339
+ if foods:
340
+ st.sidebar.subheader("Food")
341
+ for item in foods:
342
+ item_visibility[item] = st.sidebar.checkbox(item, value=True)
343
 
344
  # Filter the data based on selected items
345
  selected_items = [item for item, visible in item_visibility.items() if visible]