Python 如何在jupyter笔记本中创建带有可点击单元格的表格?
我在下面有一个表和一个绘图,我需要在单击表单元格时更新绘图Python 如何在jupyter笔记本中创建带有可点击单元格的表格?,python,jupyter-notebook,bokeh,ipywidgets,qgrid,Python,Jupyter Notebook,Bokeh,Ipywidgets,Qgrid,我在下面有一个表和一个绘图,我需要在单击表单元格时更新绘图 ipywidgets库没有专用的表小部件 没有用于单元格选择的回调,仅用于行选择(我怀疑我可以对其进行破解以对单元格单击作出反应,但我猜所需的努力与使原始html表可单击相当) pivottablejs很酷,但对于我的任务来说,这是一种过分的技巧 bokeh似乎根本没有回调。您通常可以使用jp\u proxy\u小部件将Python回调附加到Javascript对象,这几乎与仅使用Javascript的正常方式相同 例如,这里我创建了一
ipywidgets
库没有专用的表小部件
没有用于单元格选择的回调,仅用于行选择(我怀疑我可以对其进行破解以对单元格单击作出反应,但我猜所需的努力与使原始html表可单击相当)
pivottablejs
很酷,但对于我的任务来说,这是一种过分的技巧
bokeh
似乎根本没有回调。您通常可以使用jp\u proxy\u小部件将Python回调附加到Javascript对象,这几乎与仅使用Javascript的正常方式相同
例如,这里我创建了一个“香草”表,并将一个单击回调附加到
表元素:
您还可以对您最喜欢的Javascript库执行类似的操作(有一些注意事项——请参阅文档)。请在此处查看jp_proxy_小部件:
在Bokeh中,您可以通过连接到其
ColumnDataSource
的回调,对“DataTable”进行JS或Python回调。您可以检查它是否是您想要的。@Tony我是否正确理解,为了在这个解决方案中使用python回调,我需要启动bokeh服务器?是的,python回调只有在运行bokeh服务器时才可能。但也可以使用纯JS回调检测表中的单元格单击。看见添加Python回调是为了重置索引,但在最新的BokehV1.1.0版本中不再需要,可以omitted@Tony启动bokeh服务器不适合我的工作流程,我更喜欢python回调,所以现在我坚持使用IPyWidget按钮网格“模拟”表,如下所述: