Vega 可视化中的选择是否可以从 Vega 外部访问?

Are selections in Vega visualizations accessible from outside Vega?

我一直在阅读 Vega 中的 "selectors",它允许用户单击 and/or 在可视化中拖动以突出显示数据点。

不过,根据上面的文档,并在此处和其他地方进行搜索,我无法理解 select 或是否可以在 Vega 生成的可视化 外部 访问.例如,使用 R 和 Shiny,我希望能够 允许用户在可视化中 select 数据点,并让 Vega 以某种方式发布 selected 索引供应用程序使用(例如,允许更改 table 数据以仅显示有关 selected 点的信息)。

可以将以下内容粘贴到 Vega example editor 以生成散点图,并单击并拖动 selection 打开:

{"description":"","data":{"values":[{"V1":15,"V2":14.9611},{"V1":-21.3411,"V2":-7.8442},{"V1":-16.7692,"V2":-5.663},{"V1":13.339,"V2":10.1382},{"V1":13.0422,"V2":19.1265}]},"mark":"point","encoding":{"x":{"field":"V2","type":"quantitative"},"y":{"field":"V1","type":"quantitative"}},"config":{"cell":{"width":500,"height":300},"mark":{"shape":"circle"}},"embed":{"renderer":"svg","actions":{"export":true,"source":false,"editor":false}},"selection":{"pts":{"type":"interval"}}}

Vega 是否可以公开哪些数据点已被 selected?是否通过写入隐藏的 DOM 元素、公开 javascript 变量或其他方式?

答案是肯定的,但现在不是很干净。您必须检查数据集和信号并对从中选择的内容进行逆向工程。路线图上有一个合适的 API:https://github.com/vega/vega-lite/issues/1830