【问题标题】:Streamlit rerunning script every time an action occurs每次动作发生时 Streamlit 重新运行脚本
【发布时间】:2021-11-01 19:55:45
【问题描述】:

我有一个简单的流线型应用。我希望从用户那里获取 4 个输入并显示与这些输入对应的图形..

import streamlit as st
name_option = st.selectbox("Select Name", ['A', 'B', 'C'])
gender_option = st.selectbox("Select Gender", ['M', 'F'])
date_option = st.selectbox("Select Date", predefined_date_list)

但是每次发生操作时,Streamlit 都会重新运行脚本,例如当我选择名称时它会重新运行脚本。有什么办法可以改变这种行为吗?我想根据 4 个选择(上面的伪示例中的 3 个)显示可视化

【问题讨论】:

    标签: python streamlit


    【解决方案1】:

    您可以为您的应用使用单独的按钮。当它被点击时,应用程序会生成情节。

    示例:

    import streamlit as st
    import numpy as np
    import pandas as pd
    
    chart_data = pd.DataFrame(
            np.random.randn(5, 3),
            columns=["a", "b", "c"])
    
    
    calculate_button = st.button('Calculate', on_click=None)
    
    if calculate_button == True:
            st.bar_chart(chart_data)
    

    输出:



    您也可以为此目的使用 SessionState。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-20
      • 1970-01-01
      • 2021-09-02
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多