我有一个数据集,其中3列具有分类值。我想在Bokeh或HoloViews中创建3个下拉列表,其中第一个下拉选项确定其他2个下拉列表中列表的值。任何人都可以指向我展示如何做到这一点的任何教程或博客或文档。我似乎没有罚款。 我很感激你的时间。 谢谢!
答案 0 :(得分:0)
如果您使用的是Jupyter笔记本,则可以使用 paramnb要做到这一点,利用笔记本将代码分成不同单元格的方式:
我在这里"运行全部",然后在第一个小部件中选择了c3,重新运行它下面的两个单元格来更新它们。然后我选择了一个"高"第二组小部件中的值,重新运行绘图以更新它。
如果您有笔记本,这种模式可以让您像这样进行任意链接,如果Jupyter Dashboards是您的选项,那么您可以将这些单元格串在一起以创建应用程序。但这只是一种方法......
答案 1 :(得分:0)
这是一个示例,其中一个下拉列表的值根据在另一个下拉列表中所做的选择而改变。
在示例中,当您在一个下拉列表中选择一个大洲时,带有可能国家的下拉列表在另一个下拉列表中更改。发生这种情况的原因是: @ pn.depends(continent.param.value,watch = True)
import panel as pn
_countries = {
'Africa': ['Ghana', 'Togo', 'South Africa'],
'Asia' : ['China', 'Thailand', 'Japan'],
'Europe': ['Austria', 'Bulgaria', 'Greece']
}
continent = pn.widgets.Select(
value='Asia',
options=['Africa', 'Asia', 'Europe']
)
country = pn.widgets.Select(
value=_countries[continent.value][0],
options=_countries[continent.value]
)
# the countries dropdown is dependent on the continent dropdown
@pn.depends(continent.param.value, watch=True)
def _update_countries(continent):
countries = _countries[continent]
country.options = countries
country.value = countries[0]
pn.Row(continent, country)
此holoviews +面板问题有一个下拉列表示例,该下拉列表取决于另一个下拉列表的值:
How do i automatically update a dropdown selection widget when another selection widget is changed? (Python panel pyviz)
具有依赖于其他下拉菜单的下拉菜单示例来自本教程页面上的GoogleMapViewer: https://panel.pyviz.org/user_guide/Param.html