【发布时间】:2017-03-29 16:05:42
【问题描述】:
我正在尝试使用 csv 文件中的多个列制作饼图,我可以制作饼图,但它只使用最后一个值 d.gre。我做错了什么?
代码如下
d3.csv("elecVotes.csv", function (data) {
var ndx = crossfilter(data);
var partysDim = ndx.dimension(function(d) { return +d.rep, +d.dem, +d.lib, +d.ind, +d.gre;})
var partys = partysDim.group();
var pie = dc.pieChart('#chart-pie');
pie
.width(180)
.height(180)
.radius(80)
.dimension(partysDim)
.group(partys)
.renderLabel(true)
.innerRadius(10)
.transitionDuration(500)
.colorAccessor(function (d, i) { return d.value; });
dc.renderAll();
});
electVotes.csv
state, rep,dem,lib,ind,gre
Alabama,1314431,725704,44211,20276,9341
New York,5655,54444,65666,2355,12225
Texas,4355,543234,12321,12331,45644
【问题讨论】:
-
您可能需要转换您的数据,以便为 Crossfilter 提供更好的结构。你能分享一些示例数据吗?我将能够建议一个适合您的转换。一个工作示例会特别有用,但在这里并不完全必要。
-
state, rep,dem,lib,ind,gre Alabama,725704,44211,20276,9341这是我正在使用的当前数据,我想实现这一点,以便当我点击地图上的州时,它会根据点击的州更新 -
@EthanJewett 我已经用一些示例数据更新了这个
标签: dc.js crossfilter