弧を水平線でアニメーション化しようとしていますが、これが可能かどうか、そしてそれを検討する最善の方法がわからない。私は、パスジェネレータを使用して円弧を描いています:d3.jsを使用して弧を水平線にアニメーション化する
var arc = d3.svg.arc()
.outerRadius(function(d){ return d.outerRadius; })
.innerRadius(function(d){ return d.outerRadius*0.6; })
.startAngle(function(d){ return d.startAngle; })
.endAngle(function(d){ return d.endAngle; });
その後、私はJSONデータを読み取り、パイレイアウトを使用して円弧を追加しています:
var donut = d3.layout.pie();
var paths = arcs.selectAll("path").data(donut(json));
paths.enter().append("path")
.on("click", anim)
.attr("d", arc).transition().duration(1000)
.attrTween("d", tweenPie);
パスは私がなりたいのクリックされたとき弧をアニメーション化して水平線に向かって開き、水平線に平らにすることができます。これどうやってするの?アドバイスをいただければ幸いです。ありがとうございました!!
私はSVGエディタを使用し、関心のある円弧をインポートします。次に、手動で直線化し、どの値が変更され、どのように変更されたかを確認します。これに対応する直線。 (あなたの線は弧でなければならず、遷移を実行できると思う) – alm