散景小部件未显示

Bokeh widget not showing

我正在迈出创建散景交互式可视化应用程序的第一步,我正在尝试创建一些用于数据选择的下拉菜单。

在我自己的数据上实现它之前,我尝试从 Bokeh 教程中复制小部件。

我的代码

from math import pi

import pandas as pd

from bokeh.palettes import Category20c
from bokeh.plotting import figure
from bokeh.transform import cumsum
from bokeh.io import show, output_file, output_notebook, curdoc
from bokeh.models import ColumnDataSource, Select
from bokeh.layouts import widgetbox
from bokeh.resources import INLINE
import bokeh.io

bokeh.io.output_notebook(INLINE)


# Create two dropdown Select widgets: select1, select2
select1 = Select(title="First", options=["A", "B"], value="A")
select2 = Select(title="Second", options=["1", "2", "3"], value="1")

# Define a callback function: callback
def callback(attr, old, new):
    # If select1 is 'A'
    if select1.value == "A":
        # Set select2 options to ['1', '2', '3']
        select2.options = ["1", "2", "3"]

        # Set select2 value to '1'
        select2.value = "1"
    else:
        # Set select2 options to ['100', '200', '300']
        select2.options = ["100", "200", "300"]

        # Set select2 value to '100'
        select2.value = "100"


# Attach the callback to the 'value' property of select1
select1.on_change("value", callback)

# Create layout and add to current document
layout = widgetbox(select1, select2)
curdoc().add_root(layout)

除了代码之外,我得到的只是一个警告,但我什么也没看到。

我做错了什么?

谢谢

p.s。 我知道我打的电话比我需要的多得多,我以后会使用所有的包裹,或者只是删除它们。

您可以将 WidgetBox 替换为 Column 以避免警告,但真正的问题是您不显示任何内容。

如果要显示,在笔记本末尾加上"show(layout)"。