Я хотел бы добавить переход ко всем элементам пути в SVG, которые расширяют только внешний. Я пытаюсь создать растущий эффект для всех этих мини-дуг, которые я делаю.Как перенести только свойство радиуса дуги d3.js
Как только все дуги были сделаны, я хотел бы ТОЛЬКО расширять внешнюю границу для всех из них. Поэтому, например, я хотел бы, чтобы весь внешний радиус дуги расширялся на 5, но я хотел бы, чтобы они сохранили все другие свойства. Я попытался изменить свойство outerRadius, а затем снова называть дугу, но это сбрасывает все остальные свойства, такие как начальный и конечный угол. Вот мой codepen: http://codepen.io/nsohail92/pen/obNRvv
var width = 1200;
var height = 1200;
var innerRadius = height/2.5;
var outerRadius = height/2;
var count = 0;
var startAngle = 0;
var increment = (360/16)/100; //.025
var endAngle;
var drawArc = d3.svg.arc();
var vis = d3.select("body").append("svg");
var svg = vis.attr("width", width).attr("height", height);
function createArc() {
endAngle = startAngle + increment;
drawArc
.innerRadius(innerRadius)
.outerRadius(outerRadius)
.startAngle(startAngle)
.endAngle(endAngle);
svg.append("path")
.attr("d", drawArc)
.attr("fill", "#81ecb5")
.attr("transform", "translate(600,600)");
if(endAngle < 5) {
count = count + 1;
startAngle = endAngle + .02;
}
else {
var pathArray = svg.selectAll("path");
console.log(pathArray);
drawArc.outerRadius(550);
svg.select("path#path_0").transition().duration(1500).attr("d", drawArc);
return;
}
createArc();
}
createArc();
так у ¨R говорят, что на дро полном увеличении дэ внешнего радиус круговой диаграммы? – Cyril
Есть много примеров того, как это сделать. Как эти люди не работают на вас? –
@LarsKotthoff есть примеры того, как переопределить объект дуги с новым радиусом, но я не хочу этого делать, поскольку у меня есть разные значения угла, заданные каждой дуге в цикле for. Есть пример arcTween, но я понятия не имею, как его использовать. – nehas