Charts 谷歌图表上说;无数据“;使用array.push
试图将谷歌饼图小部件嵌入到自定义小部件中,我显然没有正确格式化数据 HTML参考Charts 谷歌图表上说;无数据“;使用array.push,charts,polymer,google-visualization,polymer-1.0,Charts,Polymer,Google Visualization,Polymer 1.0,试图将谷歌饼图小部件嵌入到自定义小部件中,我显然没有正确格式化数据 HTML参考 <widget-piechart-daily dataid="ConsentDecisionsToday" charttitle="Consent Decisions Today"> </widget-piechart-daily> 小部件Javascript registerCallback(this.dataid, function (data) {
<widget-piechart-daily
dataid="ConsentDecisionsToday"
charttitle="Consent Decisions Today">
</widget-piechart-daily>
小部件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])
来修复此问题?您应该使用Polymer来修改数组并将更改通知绑定系统:
for (var key in y) {
...
self.push('values', [key, i]);
}
根据一份报告,
列0应为“字符串”
第1列应该是一个
“数字”
但是,第1列使用了一个“字符串”
(固定的toFixed的结果
)
试着用一个数字代替
if (key != 'Today'){
var i = parseFloat(Math.round(z * 100) / 100);
self.values.push([key,i])
}
同样的结果。即使控制台输出看起来也一样。不确定这是否有帮助,但“无数据”消息看起来与谷歌可视化API使用的消息不同。该消息显示在一个红色小框中。也许这是来自你的聚合物成分?还值得注意的是,您的数值在日志输出中显示为字符串。也许把它转换成数字类型,看看是否有帮助。
for (var key in y) {
...
self.push('values', [key, i]);
}
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])
}