d3.jsを使用してゲージ針をアニメートしようとしていますが、奇妙なアニメーションになります。私はインターネットからいくつかの検索を行っていますが、問題を解決するためにどのような解決方法を使うことができないのか分かりません。d3.jsを使用してゲージ針をアニメーション化する
function createNeedle(sampleAngle){
topX = centerX - Math.cos(sampleAngle) * triLength
topY = centerY - Math.sin(sampleAngle) * triLength
leftX = centerX - 10 * Math.cos(sampleAngle - Math.PI/2)
leftY = centerY - 10 * Math.sin(sampleAngle - Math.PI/2)
rightX = centerX - 10 * Math.cos(sampleAngle + Math.PI/2)
rightY = centerY - 10 * Math.sin(sampleAngle + Math.PI/2)
return " M " + leftX + " " + leftY + " L " + topX + " " + topY + " L " + rightX + " " + rightY;
}
//animate the needle
d3.select('.moveNeedle')
.attr('d', createNeedle(sampleAngle1))
.transition()
.duration(2000)
.attr('d', createNeedle(sampleAngle2));
あなたはこのSO質問(https://stackoverflow.com/questions/30849961/d3-js-tween-arc-を参照してください例えば、XとYは、遷移中の座標を計算するためにcustomTweenを作成することになりますd3-js-arc)と関連ブロック(http://bl.ocks.org/mbostock/5100636) –
ありがとう、私はhttpにしたがってそれを修正する方法を考え出します:/ /bl.ocks.org/mbostock/5100636 –
ほぼ重複しています:[* "D3 SVG変換回転遷移が変わった" *(/ q/40244530)。 – altocumulus