Не используйте ng2-google-chart, вместо этого используйте angular-google-charts (npm i angular-google-charts).
это HTML код
У вас есть тег как [data] и Value "dataichange" => это значение вы можете изменить имя в файле ts
<google-chart #chart
[title]="title"
[type]="type"
[data]="dataichange"
[columnNames]="columnNames"
[options]="options"
[width]="width"
[height]="height">
</google-chart>
это файл .ts с жестко закодированными данными
title = 'Browser market shares at a specific website, 2014';
type = 'PieChart';
dataichange = [
['Firefox', 45.0],
['IE', 26.8],
['Chrome', 12.8],
['Safari', 8.5],
['Opera', 6.2],
['Others', 0.7]
];
columnNames = ['Browser', 'Percentage'];
options = {
};
width = 550;
height = 400;
Чтобы решить вашу проблему - замените данные собственным новым массивом.
Вам нужен новый массив, потому что массив, полученный из сервиса, слишком велик.
Таким образом, вам нужно создать новый массив только для столбцов, необходимых для конкретной диаграммы.
Для этого я использовал «map», чтобы получить столбцы массива, и «push», чтобы создать их в новом массиве в указанном порядке.
Datachart: any[];
fnGetAverages() {
this._getIncomeService.GetAverages(279).subscribe(Res => {
this._GetAveragesModel = Res;
Res.map(item => {
this.Datachart.push([item.OrderTypeName, item.AveragePerDiner]);
})
});
}
и теперь замените в HTML the [data] = "Datachart"
DataChart - это ваш отфильтрованный новый массив
<google-chart #chart
[title]="title"
[type]="type"
[data]="Datachart" // Here I changed to the new array name "Datachart"
[columnNames]="columnNames"
[options]="options"
[width]="width"
[height]="height">
</google-chart>