You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Streamlit仪表盘动态筛选问题:筛选器无法影响图表显示的解决方案求助

问题解决:Streamlit筛选器无法影响图表的问题

嘿,我一眼就揪出问题所在啦!你已经正确设置了侧边栏的年份多选框,也生成了筛选后的数据集df_selection,但绘制图表的时候你用的还是原始的df2,而非筛选后的df_selection——这就是筛选器完全没效果的核心原因!

修改后的完整可运行代码:

year = st.sidebar.multiselect( 
    "select the year : ", 
    options=df2["Year"].unique(), 
    default=df2["Year"].unique(), 
)
df_selection = df2.query("Year == @year")
# 关键修改:把数据源从df2换成筛选后的df_selection
fig = px.bar(df_selection, x="dpe", y="Percentage", color="signature",title="<b> DPE repartition in function of the year <b>")
fig.update_layout(plot_bgcolor="rgba(0,0,0,0)")
st.plotly_chart(fig) # 别忘了把图表渲染到Streamlit页面上!

核心逻辑说明:

  • 替换px.bar的数据源为df_selection后,侧边栏选择的年份会实时过滤数据集,图表内容也会同步更新
  • 最后补充的st.plotly_chart(fig)是把生成的Plotly图表渲染到页面上的关键步骤,看你原代码里好像漏掉了,加上它才能看到图表哦

这样调整后,你的筛选器就能正常控制图表内容啦!

内容的提问来源于stack exchange,提问作者bruce

火山引擎 最新活动