下面是可行的,但是好像不太对 (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/