当d3饼图数据过多或内部文字内容过长时,显示会变得不美观且不直观,常见的解决方式是添加引导线。
参考链接:链接
<body style="">
<button class="randomize">randomize</button>
<script src="./bl.ocks.org_files/d3.v3.min.js.download"></script>
<script>
var svg = d3.select("body")
.append("svg")
.append("g")
svg.append("g")
.attr("class", "slices");
svg.append("g")
.attr("class", "labels");
svg.append("g")
.attr("class", "lines");
var width = 960,
height = 450,
radius = Math.min(width, height) / 2;
var pie = d3.layout.pie()
.sort(null)
.value(function (d) {
return d.value;
});
//定义饼图内外半径
var arc = d3.svg.arc()
.outerRadius(radius * 0.8)
.innerRadius(radius * 0.4);
//定义饼图的外圆,比饼图大,不做绘图用,用来定位位置
var<