带有附加元素的新数组不会可视化

new array with additional element does not visualize

本文关键字:数组 可视化 新数组 元素      更新时间:2023-09-26

我有下面的图表https://jsfiddle.net/r96upg74/5/

我使用以下代码创建了一个新的数组,也称为数据,末尾还有一个元素"Total":

var value0Sum = 0,
    value1Sum = 0;
value0Sum = d3.sum(data, function(d){return d[values[0]];});
value1Sum = d3.sum(data, function(d){return d[values[1]];});
data = function (array) {
        r = array.map(function (d) {
            return { id: d.id, value1: d[values[0]], value2: d[values[1]] }} 
        );
    return r.concat([{id:"Total", value1: value0Sum, value2: value1Sum}]);
}(data);

其结果是:https://jsfiddle.net/r96upg74/7/

然而,图表并不能正确地显示新数据。

任何帮助都将不胜感激,感谢

您的代码中存在一些混淆。

这个循环非常奇怪:

data.forEach(function(d) {
  for (var i = 0; i < values.length; i++) {
    d.value = +d[values[i]];
    return d;
  }
});

你在d.value中分配了一些东西,然后停止循环,所以你永远不会超过i=0

我删除它是因为你不需要它。

那么你的问题是,在你的第二把小提琴中,你将过去具有关键字id, M, N的数据转换为具有关键字id, value1, value2的数据。

我已经用MN改变了这一点,它正在工作:https://jsfiddle.net/3860zcc3/