0

我有一个正常的序列sunburst 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;
         }

这是我的带有缩放JSfiddle的旭日形首饰的最终版本

问题是:如何使序列 sunburst 与缩放方法一起使用?以及如何停止 zoomin 和 o 返回为 [bilevel 或 zoomable sunburst]

4

0 回答 0