Taipy GUI选择器回调问题:无法匹配选择项与对应图表
解决Taipy GUI选择器与图表匹配显示的问题
你的代码存在两个核心问题导致选择器无法和图表匹配:
- 变量名不匹配:初始化的选择变量是
selection,但页面模板里用的是{selector},导致选择器无法正确绑定到状态变量。 - 缺少图表可见性控制:没有设置条件来控制图表的显示/隐藏,所以两个图表会一直同时显示。
以下是修正后的完整代码:
import pandas as pd from taipy.gui import Gui # 加载数据 bar_data = pd.read_csv('barchartdata.csv', sep=',') line_data = pd.read_csv('linechartdata.csv', sep=',') # 初始化选择器变量,确保和模板里的变量名一致 selection = "Global Suicides per Year" page = """ <|toggle|theme|> <|{selection}|toggle|lov=Global Suicides per Year;Global Suicides per Gender|> <!-- 折线图:仅当选择"Global Suicides per Year"时显示 --> <|{line_data}|chart|x=year|y=Total suicides per 100k|title=Worldwide Suicide (per 100k) by Year|visible={selection == "Global Suicides per Year"}|> <!-- 柱状图:仅当选择"Global Suicides per Gender"时显示 --> <|{bar_data}|chart|x=year|y[1]=suicides/100k pop_female|y[2]=suicides/100k pop_male|type=bar|title=Worldwide Suicide (per 100k) by Gender|visible={selection == "Global Suicides per Gender"}|> """ if __name__ == "__main__": Gui(page).run()
关键修改说明:
- 统一选择器绑定的变量名为
selection,保证模板和后端变量一致。 - 为每个图表添加
visible属性,通过判断selection的当前值来控制图表是否显示:- 折线图只在选择「Global Suicides per Year」时可见
- 柱状图只在选择「Global Suicides per Gender」时可见
内容的提问来源于stack exchange,提问作者Marine
相关产品推荐
相关产品推荐

