【发布时间】:2016-03-12 04:45:27
【问题描述】:
如何使用 D3.js 实现这个圆环图?有人请帮帮我。
我尝试了下面的代码,但我在设计中遇到了圆角半径和灰色弧线的问题:
Javascript:
var dataset = {
apples: [53245, 28479, 19697, 24037, 40245],
};
var width = 460,
height = 300,
radius = Math.min(width, height) / 2;
var color = d3.scale.category20();
var pie = d3.layout.pie()
.sort(null);
var arc = d3.svg.arc()
.innerRadius(radius - 100)
.outerRadius(radius - 50);
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");
var path = svg.selectAll("path")
.data(pie(dataset.apples))
.enter().append("path")
.attr("fill", function(d, i) { return color(i); })
.attr("d", arc);
CSS:
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
margin: auto;
position: relative;
width: 960px;
}
text {
font: 10px sans-serif;
}
jsfiddle.net/gregfedorov/qh9x5/9
【问题讨论】:
-
在询问应该如何实施之前,请先尝试一下。甜甜圈图有很多 d3 示例。尝试修改这些
-
我试过了。但我在设计中遇到拐角半径和灰色弧线的问题。我也试过这个。并尝试修改。 jsfiddle.net/gregfedorov/qh9x5/9
标签: javascript d3.js svg