如何在饼图中按标题对数据进行分组(Chart.js)

问题描述 投票:0回答:1

例如我有数据

 {
  'category': 'winter',
  'amount': 10
 },
 {
  'category': 'winter',
  'amount': 10
 },
 {
  'category': 'summer',
  'amount': 10
 },
 {
  'category': 'spring',
  'amount: 10
 },
]

工作(不像预期的例子)

https://codepen.io/Ross-Zach/pen/eYXedBr

所以我想要这样的东西

Pie chart that I want (SCREENSHOT)

并且在图例中应该只包含:

冬天,夏天,春天

不是:

冬天,冬天,夏天,春天

javascript chart.js
1个回答
0
投票
let data = [
  { 'category': 'winter', 'amount': 10 },
  { 'category': 'winter', 'amount': 10 },
  { 'category': 'summer', 'amount': 10 },
  { 'category': 'spring', 'amount': 10 },
];

let aggregatedData = {};

  for (let i = 0; i < data.length; i++) {
  let item = data[i];
  if (aggregatedData.hasOwnProperty(item. Category)) 
  {
    aggregatedData[item.category] += item. Amount;
  } 
  else 
  {
    aggregatedData[item.category] = item. Amount;
  }
}
  • 迭代数据数组并创建一个对每个类别的金额求和的对象。

  • 使用该对象的键作为饼图的标签。

  • 使用总金额作为饼图的数据。

© www.soinside.com 2019 - 2024. All rights reserved.