尝试将google-pie-chart小部件嵌入到自定义小部件中,我显然没有正确格式化数据。
HTML参考
<widget-piechart-daily
dataid="ConsentDecisionsToday"
charttitle="Consent Decisions Today">
</widget-piechart-daily>
小工具HTML
<template>
<google-chart id$="piechart{{dataid}}"
type='pie'
options$='{"title": "{{charttitle}}"}'
cols='[{"label":"Decision", "type":"string"}, {"label":"Count", "type":"number"}]'
rows$='{{values}}'>
</google-chart>
</template>
Polymer()params
...
values: {
type: Array,
value: function() {return []}
},
charttitle: {
type: String,
value: ""
},
...
Widget Javascript
registerCallback(this.dataid, function (data) {
var y = data.data[0];
self.values = [];
//var z = y[Object.keys(y)[0]];
for (var key in y) {
if (y.hasOwnProperty(key)) {
var z = y[key];
i = z;
if (key != 'Today'){
var i = parseFloat(Math.round(z * 100) / 100).toFixed(self.decimals);
self.values.push([key,i])
}
}
}
self.isloading = false;
console.log(self.values);
});
回调是针对pubnub流的。当我记录self.values
时,它看起来像这样:
但这是图表的呈现方式:
如何修改self.values.push([key,i])
来解决此问题?
答案 0 :(得分:2)
第0列应为'string'
第1列应为'number'
但是,第1列用'string'
(toFixed
)的结果
if (key != 'Today'){
var i = parseFloat(Math.round(z * 100) / 100).toFixed(self.decimals);
self.values.push([key,i])
}
尝试使用数字
if (key != 'Today'){
var i = parseFloat(Math.round(z * 100) / 100);
self.values.push([key,i])
}
答案 1 :(得分:0)
您应该使用Polymer array mutation methods修改数组并通知绑定系统更改:
"channel": "U024BE7LH" ---userID
"channel": "D7Y15W6PF" ---channelID