2013-05-04 53 views
3

下面的作品,但它看起来不正确(see live demo)如何在vega中以编程方式选择项目?

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! 
    }); 

}); 

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

+2

你能提供一个“vega”的参考吗? – 2013-05-04 06:09:18

+0

见https://github.com/trifacta/vega – 2013-05-05 01:05:55

+0

为什么这个标签为d3?我不知道vega,但看看你的例子中生成的元素,它似乎是使用画布标签。 – explunit 2013-05-06 13:24:37

回答

1

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

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

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

相关问题