改进D3序列旭日形成具有缩放技术

时间:2014-08-29 23:10:48

标签: d3.js zoom sunburst-diagram

我有正常的序列旭日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]

0 个答案:

没有答案