如何用 top 方法包装一个组
How to wrap a group with a top method
我有一个地图显示,我想汇总所有已选州的选举人票,并将其显示在数字显示中。我在上一个线程中得到建议,用一个带有 top 方法的对象来包装我的组。我不确定该怎么做,到目前为止我有:
var stateDim4 = ndx.dimension(function(d) { return d.state; }),
group = stateDim4.group().reduceSum(function(d) {return d.elecVote }),
count = group.top(51);
count[0].key;
count[0].value;
有人可以帮助我如何做到这一点吗?
上一个主题:
在您之前的示例的基础上,这是一个带有 top
方法的假群组,该方法汇总了所选州的所有选举人票。
var fakeGroup = {
top: function() {
return [
grp2.top(Infinity).reduce(function(a,b) {
if(b.value > 0) {
a.value += elecVotesMap.get(b.key)
}
return a
}, {
key: "",
value: 0
})
]
}
}
percentElec
.group(fakeGroup)
.formatNumber(d3.format("d"))
这是一个有效的 JSFiddle:https://jsfiddle.net/esjewett/u9dq33v2/2/
dc.js FAQ 中还有许多其他伪组示例,但我认为它们中没有一个完全符合您的要求。
我有一个地图显示,我想汇总所有已选州的选举人票,并将其显示在数字显示中。我在上一个线程中得到建议,用一个带有 top 方法的对象来包装我的组。我不确定该怎么做,到目前为止我有:
var stateDim4 = ndx.dimension(function(d) { return d.state; }),
group = stateDim4.group().reduceSum(function(d) {return d.elecVote }),
count = group.top(51);
count[0].key;
count[0].value;
有人可以帮助我如何做到这一点吗?
上一个主题:
在您之前的示例的基础上,这是一个带有 top
方法的假群组,该方法汇总了所选州的所有选举人票。
var fakeGroup = {
top: function() {
return [
grp2.top(Infinity).reduce(function(a,b) {
if(b.value > 0) {
a.value += elecVotesMap.get(b.key)
}
return a
}, {
key: "",
value: 0
})
]
}
}
percentElec
.group(fakeGroup)
.formatNumber(d3.format("d"))
这是一个有效的 JSFiddle:https://jsfiddle.net/esjewett/u9dq33v2/2/
dc.js FAQ 中还有许多其他伪组示例,但我认为它们中没有一个完全符合您的要求。