angular - 如何在角度 7 中将数组数据插入到 ng2-google-chart 的图表中
问题描述
我使用角度开发环境 7 我正在尝试通过 API 和角度服务运行 ng2 谷歌图表的饼图。
附上我的TS文件的图片
问题:如何将来自我数组的值输入到图表的DataTable中?
谢谢
constructor(private _getIncomeService: getIncomeService) { }
_GetAveragesModel: GetAveragesModel[];
ngOnInit() {
this.fnGetAverages();
}
fnGetAverages() {
this._getIncomeService.GetAverages(279).subscribe(x => {
this._GetAveragesModel = x;
});
}
public pieChart = {
chartType: 'PieChart',
dataTable: [
['Task', 'Hours per Day'],
['ss', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
],
options: {
title: 'Tasks',
slices: {
0: { offset: 0.3 },
1: { offset: 0.2 },
},
width: '100%', height: '100%',
is3D: true,
chartArea: {left: "3%",top: "3%",height: "94%",width: "94%"}
}
};
```[enter image description here][1]
[1]: https://i.stack.imgur.com/1RMwk.png
解决方案
将 dataTable 属性映射到 _GetAveragesModel 并使用 pieChart 作为 getter。如果它改变饼图属性的值也会改变。
get pieChart():any {
return {
chartType: 'PieChart',
dataTable: this.__GetAveragesModel.map(e => {
if (e.hasOwnProperty('OrderTypeName') && e.hasOwnProperty('AveragePerDinner')) {
return [e.OrderTypeName,e.AveragePerDinner]
}
}),
options: {
title: 'Tasks',
slices: {
0: { offset: 0.3 },
1: { offset: 0.2 },
},
width: '100%', height: '100%',
is3D: true,
chartArea: {left: "3%",top: "3%",height: "94%",width: "94%"}
}
}
}
推荐阅读
- android - Android 从错误的位置加载库
- javascript - 单击某些用户表按钮时,如何使用 ajax 弹出我的数据库信息
- javascript - 函数不会在 Vue 生命周期钩子上加载,但在使用 V-on 调用时会加载
- android - 如何从android安装程序获得响应(无论apk安装成功与否)?
- regex - 删除标点符号,但不是全部
- php - 带有 PHP 和 JS SDK 的 PayPal 订阅 API - RESOURCE_NOT_FOUND 错误
- r - 使用列名中的模式划分列
- java - 可以在 Apache POI 中生成趋势线吗?
- java - 如何在 Android 的 ListView 中显示 SQLite 数据库中的多个数据
- python - 无法在 Cloud Dataflow 上的 apache 梁程序中使用来自 beam_utils.sources 的 CsvFileSource