我有正常的序列旭日jsfiddle,因为它可以正常工作。
我正在努力改善这次森伯斯特以获得缩放技术。
使用以下代码我可以进行一步缩放,
var path = vis.data([json]).selectAll("path")
.
.
.on("click", click)
.each(stash);
点击功能是:
function click(d)
代码还有arctween,stash和reposition函数,如下所示
function arcTween(a){
var i = d3.interpolate({x: a.x0, dx: a.dx0}, a);
return function(t) {
var b = i(t);
a.x0 = b.x;
a.dx0 = b.dx;
return arc(b);
};
}
function stash(d) {
d.x0 =0;// d.x;
d.dx0 =0;// d.dx;
}
function reposition(node, x, k) {
node.x = x;
if (node.children && (n = node.children.length)) {
var i = -1, n;
while (++i < n) x += reposition(node.children[i], x, k);
}
return node.dx = node.value * k;
}
这是我的sunburst的最终版本,缩放JSfiddle
问题是:如何使序列旭日作品采用缩放方法? 以及如何阻止zoomin和o回到[bilevel or zoomable sunburst]