Проблема, которую вы пытаетесь решить, заключается в том, что вызов метода update в функции render создает бесконечный цикл.
Обновление вызовов рендеринга -> обновленная диаграмма перерисовок -> рендер снова вызывает рендеринг -> обновление вызовов рендеринга -> ...
Один из способов избежать этого - использовать некоторые логические 'флаги' для управления тем, что обновление будет вызываться один раз.
Простая демонстрация с console.log для тестирования потока: https://jsfiddle.net/BlackLabel/acoxmhdw/
let chartForUpdate = true;
Highcharts.chart('container', {
chart: {
events: {
render() {
let chart = this;
console.log('test redraw call 1')
if (chartForUpdate) {
chartForUpdate = false;
chart.series[0].update({
data: [5, 10]
})
console.log('test condition IF call')
}
console.log('test redraw call 2')
chartForUpdate = true
}
}
},
series: [{
data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
}]
});
РЕДАКТИРОВАТЬ
Я совершил ошибку, приношу свои извинения - максимальный стек вызовов возник не из-за бесконечного цикла из вызовов рендеринга, а из данных, которые вы пытались вставить.
Обновленные данные должны быть в формате, который требуется Highcharts - это объект конфигурации серии с данными в виде массива объектов, массива значений или массива массивов - документация: https://www.highcharts.com/docs/chart-concepts/series и https://api.highcharts.com/class-reference/Highcharts.Series#update
Между тем, в вашей демонстрации массив объектов данных передается функции обновления, которая создает ошибку.
Я не уверен, какие значения вы хотели бы отображать после нажатия этой кнопки, но вам нужно будет создать для него новый объект серии. Что-то вроде этого:
https://stackblitz.com/edit/angular-9nkrgd-aykarp?file=src/app/app.component.ts.
person
Sebastian Wędzel
schedule
06.04.2020
this.data
в вашем обратном вызовеundefined
, и вы пытаетесь обновить график с его помощью, поэтому возникает ошибка и перерисовка не работает, см.: stackblitz.com/edit/angular-9nkrgd-dahide?file=src/app/ - person Sebastian Wędzel   schedule 06.04.2020