【问题标题】:How do I make a table with clickable cells in jupyter notebook?如何在 jupyter notebook 中制作带有可点击单元格的表格?
【发布时间】:2019-05-09 09:49:20
【问题描述】:

我在下面有一个表格和一个绘图,我需要在单击表格单元格时更新绘图。

ipywidgets 库没有专用的表格小部件。

qgrid 没有用于单元格选择的回调,仅用于行选择(我怀疑我可以破解它以响应单元格点击,但我想所需的努力与制作原​​始 html 表格可点击相当)。

pivottablejs 很酷,但对我的任务来说这有点过头了。

bokeh DataTable 似乎根本没有回调。

【问题讨论】:

  • 在 Bokeh 中,您可以通过附加到其 ColumnDataSource 的回调来为 DataTable 提供 JS 或 Python 回调。你可以检查this post是否是你想要的。
  • @Tony 我是否正确理解,为了在此解决方案中使用 python 回调,我需要启动散景服务器?
  • 是的,Python 回调仅在运行 Bokeh 服务器时才有可能。但是也可以使用纯 JS 回调来检测表格中的单元格点击。见this post。添加了 Python 回调以重置索引,但在最新的 Bokeh v1.1.0 中不再需要,可以省略
  • @Tony 启动散景服务器不适合我的工作流程,我更喜欢 python 回调,所以现在我会坚持使用 ipywidgets 按钮网格的“模拟”表,如所述这里:stackoverflow.com/questions/37528992/…

标签: python jupyter-notebook bokeh ipywidgets qgrid


【解决方案1】:

您通常可以使用 jp_proxy_widgets 将 Python 回调附加到 Javascript 对象,这几乎与仅使用 Javascript 的正常方式相同。

例如,我在这里创建了一个“香草”表并附加了一个点击回调到 一个表格元素:

您也可以使用您最喜欢的 Javascript 库执行类似的操作(有一些注意事项 - 请参阅文档)。请在此处查看 jp_proxy_widgets:

https://github.com/AaronWatters/jp_proxy_widget

【讨论】:

    猜你喜欢
    • 2017-07-04
    • 2017-11-16
    • 1970-01-01
    • 2018-04-14
    • 2021-02-16
    • 1970-01-01
    • 2018-10-31
    相关资源
    最近更新 更多