如何计算值访问器中的百分比?我以为我能够只添加分组值然后除以它然后乘以得到百分比?
var fakeGroup = {
top: function() {
return [
votes.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"))
.valueAccessor(function(){ return fakeGroup / 538 * 100; })
答案 0 :(得分:1)
添加Ethans建议之后,由于十进制格式不正确,代码仍然无法打印,因为返回值为7.33。一旦我改变了显示的数字就完美了。
代码:
percentElec
.group(fakeGroup)
.formatNumber(d3.format(".2f"))
.valueAccessor(function(d){ return d.value / 538 * 100 ; })