【发布时间】:2016-05-31 15:32:10
【问题描述】:
我在地图上放置了几个饼图,并希望根据 csv 文件中的相应值(在本例中为“总计”)调整它们的大小。但是无论我如何调整半径,馅饼都不会显示。我错过了什么重要的事情吗?
到目前为止我的代码:
d3.csv("Bevoelkerung-Altersstruktur-2010-Summe.csv", function drawPies (data) {
var pie = d3.layout.pie()
.sort(null)
.value(function(d) { return +d});
var arc = d3.svg.arc()
.innerRadius(0)
.outerRadius(function(d) {
return d.Total; });
var pies = svg.selectAll('.pie')
.data(data)
.enter()
.append('g')
.attr('class', 'pie')
.attr("transform", function(d) {
return "translate(" + projection([d.lon, d.lat])[0] + "," + projection([d.lon, d.lat])[1] + ")";
});
var color = d3.scale.ordinal()
.range(["#98abc5", "#7b6888", "#a05d56", "#d0743c",])
.domain(d3.range(0,4));
pies.selectAll('.slice')
.data(function(d){
return pie([d.Group1, d.Group2, d.Group3, d.Group4]); })
.enter()
.append('path')
.attr('d', arc)
.style('fill', function(d,i){
return color(i);
});
Here 是完整代码的链接。
【问题讨论】:
-
请您添加所有代码,包括数据。甚至可以创建一个 JSFiddle ?
-
我把源代码放到了 Bl.ocks 上,并在第一篇文章中添加了链接。在链接的源代码中,我将“.outerRadius”的值更改为固定值,以便可以看到饼图并了解它的外观。