繁体   English   中英

如何在 jupyter notebook 中制作带有可点击单元格的表格?

[英]How do I make a table with clickable cells in jupyter notebook?

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

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

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

pivottablejs很酷,但它对我的任务来说是多余的。

bokeh DataTable似乎根本没有回调。

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

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

在此处输入图片说明

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

https://github.com/AaronWatters/jp_proxy_widget

您现在可以使用面板的新制表器很好地做到这一点

例子:

import pandas as pd
import panel as pn
import numpy as np
pn.extension('tabulator')

sel_df = pd.DataFrame(np.random.randn(3, 5), columns=list('ABCDE'))

select_table = pn.widgets.Tabulator(sel_df, selection=[0, 2])

def click(event):
    print(f'Clicked cell in {event.column!r} column, row {event.row!r} with value {event.value!r}')

select_table.on_click(click) 

select_table

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM