Chart.js : 如何得到由其他行的总和创建的行?
Chart.js : How to get a line created by sum of others line?
我实际上是在使用 chart.js 制作这样的小图表:
screenshot
我在 y 轴上有一些整数值,在 x 轴上有日期。
在这里您可以看到我的数据集的示例:dataset
我想添加一个新行,作为一个值:每个日期值的总和。
我的数据集是动态生成的。
加上我上传的数据集,这一行的数据应该是
0: Object { x: "2021-09-02", y: 20 }
1: Object { x: "2021-09-08", y: 13 }
2: Object { x: "2021-09-08", y: 10 }
谁能帮我找到求和的循环?
你可以试试这个解决方案
var array = [
{ x: "2021-09-02", y: 20 },
{ x: "2021-09-08", y: 13 },
{ x: "2021-09-08", y: 10 },
];
var result = [];
array.reduce(function(res, value) {
if (!res[value.x]) {
res[value.x] = { x: value.x, y: 0 };
result.push(res[value.x])
}
res[value.x].y += value.y;
return res;
}, {});
console.log(result);
我实际上是在使用 chart.js 制作这样的小图表:
screenshot
我在 y 轴上有一些整数值,在 x 轴上有日期。 在这里您可以看到我的数据集的示例:dataset
我想添加一个新行,作为一个值:每个日期值的总和。 我的数据集是动态生成的。 加上我上传的数据集,这一行的数据应该是
0: Object { x: "2021-09-02", y: 20 }
1: Object { x: "2021-09-08", y: 13 }
2: Object { x: "2021-09-08", y: 10 }
谁能帮我找到求和的循环?
你可以试试这个解决方案
var array = [
{ x: "2021-09-02", y: 20 },
{ x: "2021-09-08", y: 13 },
{ x: "2021-09-08", y: 10 },
];
var result = [];
array.reduce(function(res, value) {
if (!res[value.x]) {
res[value.x] = { x: value.x, y: 0 };
result.push(res[value.x])
}
res[value.x].y += value.y;
return res;
}, {});
console.log(result);