【发布时间】:2020-07-04 18:08:52
【问题描述】:
我正在尝试计算图表中每个堆积条形的总和/总值并将其显示在每个条形上方
https://jsfiddle.net/n0zjpyow/1/
期望的输出:
(注意:图片中的总数不准确)
我正在使用嵌套和汇总函数,但结果是每个系列的总数,而不是每个堆叠条的总数。
var keys = d3.nest()
.key(function(d) { return (d.key) })
.rollup(function (v) {
return d3.keys(v[0]).filter(function(p, i){return i}) //filter out the heading
.reduce(function(s, p){ //sum each of the other members
//p is the category being summed
return (s[p] = d3.sum(d3.values(v[0][p][0])), s);
}, {});
})
.map(data);
输出
{1: {values: 190000000}
2A: {values: 152000000}
2B: {values: 190000000}
Non: {values: 128000000}}
我对如何将其应用于图表的数据结构(无法修改)感到困惑
如何计算每个条中的值的总和?感谢您的帮助。
【问题讨论】:
-
数据数组中的所有值是否总是具有相同的键?即
data[1].values的日期是否可能比data[0].values多?
标签: javascript d3.js svg nvd3.js