Python 如何在jupyter_笔记本中显示curdoc()仪表板

Python 如何在jupyter_笔记本中显示curdoc()仪表板,python,jupyter-notebook,bokeh,dashboard,Python,Jupyter Notebook,Bokeh,Dashboard,我在jupter_笔记本电脑公司工作,并创建了两个仪表盘。我使用curdoc()将它们放在一个包含两个选项卡的文档中,如下所示,然后尝试在jupyter_笔记本中作为应用程序输出,但出现了错误。如何修复它?非常感谢 def group1_tab(df): *********** controls=WidgetBox(******) layout=row(controls,p) tab=Panel(child=layout,title='group1') return tab def

我在jupter_笔记本电脑公司工作,并创建了两个仪表盘。我使用curdoc()将它们放在一个包含两个选项卡的文档中,如下所示,然后尝试在jupyter_笔记本中作为应用程序输出,但出现了错误。如何修复它?非常感谢

def group1_tab(df):
 ***********
 controls=WidgetBox(******)
 layout=row(controls,p)
 tab=Panel(child=layout,title='group1')
 return tab

def group2_tab(df):
  ***********
   layout=row(controls,p)
   tab=Panel(child=layout,title='group2')
   return tab

tab1 = group1_tab(df)
tab2 = group2_tab(df)

# Put all the tabs into one application
tabs = Tabs(tabs = [tab1, tab2])

# Put the tabs in the current document for display
curdoc().add_root(tabs)

handler=FunctionHandler(curdoc())
app=Application(handler)

show(app)

----> 1 handler=FunctionHandler(curdoc())
更新---- 终于找到一个适合我的

def make_doc(doc):
    tab1=***
    tab2=***
    tabs=Tabs(tabs=[tab1,tab2])
    doc.add_root(tabs)
show(make_doc)
我认为应该是:

handler=FunctionHandler(curdoc)
而不是:

handler=FunctionHandler(curdoc())

我试过handler=FunctionHandler(curdoc)。错误是:ValueError:回调函数必须具有签名func(doc),got func(),这可能是因为您不应该将
doc
传递给
FunctionHandler
,而应该将
doc
作为参数接收的函数。类似于
def create_doc(doc)
然后
handler=FunctionHandler(create_doc)
的东西,就像我一直在尝试,最后终于找到了一个适合我的。问题中增加了答复。