Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在jupyter笔记本中创建带有可点击单元格的表格?_Python_Jupyter Notebook_Bokeh_Ipywidgets_Qgrid - Fatal编程技术网

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按钮网格“模拟”表,如下所述: