init
This commit is contained in:
47
pages/form.py
Normal file
47
pages/form.py
Normal file
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding:utf-8 -*-
|
||||
import streamlit as st
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
|
||||
|
||||
def get_data():
|
||||
df = pd.DataFrame({
|
||||
"lat": np.random.randn(200) / 50 + 37.76,
|
||||
"lon": np.random.randn(200) / 50 + -122.4,
|
||||
"team": ['A', 'B'] * 100
|
||||
})
|
||||
return df
|
||||
|
||||
|
||||
if st.button('Generate new points'):
|
||||
st.session_state.df = get_data()
|
||||
if 'df' not in st.session_state:
|
||||
st.session_state.df = get_data()
|
||||
df = st.session_state.df
|
||||
|
||||
with st.form("my_form"):
|
||||
header = st.columns([1, 2, 2])
|
||||
header[0].subheader('Color')
|
||||
header[1].subheader('Opacity')
|
||||
header[2].subheader('Size')
|
||||
|
||||
row1 = st.columns([1, 2, 2])
|
||||
colorA = row1[0].color_picker('Team A', '#0000FF')
|
||||
opacityA = row1[1].slider('A opacity', 20, 100, 50, label_visibility='hidden')
|
||||
sizeA = row1[2].slider('A size', 50, 200, 100, step=10, label_visibility='hidden')
|
||||
|
||||
row2 = st.columns([1, 2, 2])
|
||||
colorB = row2[0].color_picker('Team B', '#FF0000')
|
||||
opacityB = row2[1].slider('B opacity', 20, 100, 50, label_visibility='hidden')
|
||||
sizeB = row2[2].slider('B size', 50, 200, 100, step=10, label_visibility='hidden')
|
||||
|
||||
st.form_submit_button('Update map')
|
||||
|
||||
alphaA = int(opacityA * 255 / 100)
|
||||
alphaB = int(opacityB * 255 / 100)
|
||||
|
||||
df['color'] = np.where(df.team == 'A', colorA + f'{alphaA:02x}', colorB + f'{alphaB:02x}')
|
||||
df['size'] = np.where(df.team == 'A', sizeA, sizeB)
|
||||
|
||||
st.map(df, size='size', color='color')
|
||||
Reference in New Issue
Block a user