我有一个带缩放的旭日形序列,它适用于突出显示路径和着色问题。我正在尝试为此可视化添加过渡。
我添加了以下行来创建缩放
path.on("click", click)
.each(stash)
.transition()
.duration(750)
.attrTween("d", arcTween);
点击功能是:
function click(d){
d3.select("#container").selectAll("path").remove();
var path = vis.data([d]).selectAll("path")
.data(nodes)
.enter().append("svg:path")
.attr("display", function(d) { return d.depth ? null : "none"; })
.attr("d", arc)
.attr("fill-rule", "evenodd")
.style("fill", function(d) { return d.color; })
.style("opacity", 1)
.on("mouseover", mouseover)
.on("click", click)
.each(stash)
.transition()
.duration(750)
.attrTween("d", arcTween);
// Get total size of the tree = value of root node from partition.
totalSize = path.node().__data__.value;
}
我还添加了以下 arcTween 和 stash 函数
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;
};
过渡不起作用,如果有人可以帮助我在此示例上应用缩放