各jsonに対して円が作成され、xとyがランダムに表示されます
for(var d = 0; d<json.length; d++){
circlexloc[d] = ((Math.random()*2*r)-r);
circleyloc[d] = ((Math.random()*2*r)-r);
};
属性とアニメーションを設定しながら円変数を宣言する
var circle = svg.selectAll("circle").data(json)
circle.enter().append('circle')
アニメーション
circle.transition()
.duration(1000)
.attr("fill", "blue")
.attr('opacity',0.6)
.attr('r', 5)
.attr("cx", function(d, i) {return circlexloc[i] })
.attr("cy", function(d, i) {return circleyloc[i] });
circle.exit().transition().duration(1000)
.attr('opacity',0)
.attr("r",0)
.remove();
円に技術を付ける
var text = svg.selectAll('text')
text.data(json)
.enter().append("svg:text")
.style("font-size", "10px")
.text(function(d) { return d.TechName; })
.transition().duration(1000)
.attr('opacity', 1)
.attr("x", function (d, i) { return (circlexloc[i]+6)})
.attr("y", function (d, i) { return (circleyloc[i]+4)});
});
現時点では、互いに重なり合う傾向があります。どうすればこれを防ぐことができますか? 提案と例をいただければ幸いです - ありがとう。