0

我正在尝试使用散点图holoviews/hvplot来探索一些数据,然后将我选择的内容导出到文件中......基本上这样我就可以标记它和/或将它展示给专家。

我可以制作一个散点图和一个链接的表格,并显示套索工具中的选定点。但是我不知道如何只显示选定的点,然后将它们导出到 Pandasdataframe或我可以使用的任何其他东西。

我的代码类似于以下内容。

points = df.hvplot.scatter(x="comp1", y="comp2", c="label", width=1000, height=1000).opts(tools=["hover", "lasso_select", "box_select"])
table = hv.Table(points, ["comp1", "comp2"], "label")
DataLink(points, table)
(table + points)

我看到 apoints有一个select可用的方法,但它似乎显示了所有要点。我错过了什么?

TIA

4

1 回答 1

3

select方法允许您在 Python 中按值应用选择,因此与您在散景中执行的选择无关。如果您想访问使用选择工具所做的选择,您可以查看Selection1D 流。像这样的链接流提供了一种在 Python 中从 Javascript 访问值的机制。在您的示例中,您可以执行以下操作:

points = df.hvplot.scatter(x="comp1", y="comp2", c="label", width=1000, height=1000).opts(tools=["hover", "lasso_select", "box_select"])
table = hv.Table(points, ["comp1", "comp2"], "label")
DataLink(points, table)
sel = hv.streams.Selection1D(source=points)
(table + points)

最后在一个新单元格中,您可以访问并保存选择:

points.iloc[sel.index].data.to_csv('selected.csv')
于 2019-05-17T14:13:45.560 回答