Charts 谷歌图表上说;无数据“;使用array.push

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) {

试图将谷歌饼图小部件嵌入到自定义小部件中,我显然没有正确格式化数据

HTML参考

<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])
}