Javascript 如何设置protovis流图的动画?

Javascript 如何设置protovis流图的动画?,javascript,visualization,protovis,stream-graph,Javascript,Visualization,Protovis,Stream Graph,我搞不清楚如何制作protovis流图的动画。我认为最好的方法是简单地将I,j索引数组传递给.layers(),并让.x()和.y()函数查找实际的更新值。有更简单的方法吗?每次渲染之前,您不能更新数据吗?假设数据发生了变化,我不确定是否能从中获益,因为我认为整个vis都需要重新渲染 function getData(offset) { // get/create your data here, maybe seeded with an offset } var offset = 0;

我搞不清楚如何制作protovis流图的动画。我认为最好的方法是简单地将
I,j
索引数组传递给
.layers()
,并让
.x()
.y()
函数查找实际的更新值。有更简单的方法吗?

每次渲染之前,您不能更新数据吗?假设数据发生了变化,我不确定是否能从中获益,因为我认为整个vis都需要重新渲染

function getData(offset) {
   // get/create your data here, maybe seeded with an offset
}

var offset = 0;

// ... define scales and stuff

var vis = new pv.Panel()
    .width(w)
    .height(h);

vis.add(pv.Layout.Stack)
     // wrap in a function to re-evaluate on render
    .layers(function() getData(offset))
    .offset("wiggle")
    .x(x.by(pv.index))
    .y(y)
.layer.add(pv.Area);

// use setInterval to animate
setInterval(function() { 
    offset++; // still working on the offset idea
    vis.render(); 
}, 20);
这似乎是可行的,尽管这实际上取决于您希望创建的动画类型-对于某些类型的动画,可能有更有效的方法