Как я могу добавить сумму вверху гистограммы с накоплением echarts [которая обновляется в зависимости от выбранной серии] - PullRequest
0 голосов
/ 05 августа 2020

Уже есть ответы на вопросы о том, как добавить метку «Итого» поверх гистограммы с накоплением на электронных диаграммах (например, этот )

Однако я также хотите, чтобы эта сумма пересчитывалась, когда серии выбираются / отменяются с помощью легенды (в том числе, если я сниму выделение с последней серии, к которой прикреплена метка, в примере ниже). Возможно ли это?

Пример кода из другого вопроса:

//example data
this.mySeries = [{
    name: 'Dataset 1',
    type: 'bar',
    stack: 'Stack 1',
    data: [120, 132, 101, 134, 90, 230, 210]
  },
  {
    name: 'Dataset 2',
    type: 'bar',
    stack: 'Stack 1',
    data: [220, 182, 191, 234, 290, 330, 310]
  },
  {
    name: 'Dataset 3',
    type: 'bar',
    stack: 'Stack 1',
    data: [820, 932, 901, 934, 1290, 1330, 1320],
  }
];

//function for formatter
genFormatter = (series) => {
  return (param) => {
    console.log(param);
    let sum = 0;
    series.forEach(item => {
      sum += item.data[param.dataIndex];
    });
    return sum
  }
};

//inside your chart options place this
series: series.map((item, index) => Object.assign(item, {
  type: 'bar',
  stack: true,
  label: {
    show: index === series.length - 1,
    formatter: genFormatter(series),
    fontSize: 20,
    color: 'black',
    position: 'top'
  },
})),
...