vega - 如何在 vega 中以编程方式选择项目?

标签 vega

下面是可行的,但是好像不太对 (see live demo) :

vg.parse.spec(spec, function(chart) {

  var view = chart({
    el: "#graph"
  });

  view.update();

  view.update({
    props: "hover",
    items: view._model._scene.items[0].items[0].items[1] // <- ugly and brittle!
  });

});

这样做的正确方法是什么?

最佳答案

Vega 正在取得良好进展,这是他们在论坛中讨论的功能之一。但是,现在,您正在做的是到达场景项目的唯一途径。

有关证明,请参阅 jheer(vega 的主要作者)的建议:https://groups.google.com/forum/#!topic/vega-js/r4aUahV-RwI (上一篇文章显示了一个以与您相同的方式遍历场景的示例)。

一个小区别是您可以使用 view.model().scene() 而不是 view._model._scene。但是现在那些做同样的事情,只是你不必使用主动告诉你不要使用它们的变量:)

关于vega - 如何在 vega 中以编程方式选择项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16371085/

相关文章:

plot - Vega-Lite:添加不基于字段值/自动颜色/自动形状的自定义图例

interaction - 在 Vega 中拖动数据点的鼠标交互

elasticsearch - 在Vega/Vega-lite中绘制漏斗图

d3.js - 我们可以将事件监听器添加到 "Vega-Lite"规范吗?

elasticsearch - Vega-lite热图更改颜色,位置,测试

visualization - 无法在 IPython 中使用 vincent 进行绘图

vega-lite - 迷你图可以在 Vega-lite 和/或 Vega 中使用吗?

plot - 断开点以在 Vega-lite/Vega 中绘制叠加图

vega-lite - 日期解析以及何时在 Vega Lite 中使用 utc/Time Units?

powerbi - 如何垂直对齐符号,以便它们与 y 轴标签对齐?