【问题标题】:Google Charts doesn't display data谷歌图表不显示数据
【发布时间】:2012-10-08 11:31:29
【问题描述】:

我正在使用 Titanium Studio 制作应用程序,并尝试使用 webView 和 Google Charts 来可视化一些数据。数据在一个二维数组中,如下所示:

[["Tendency","Number of Answers"],["Item one", 2],["Item two", 5]]

这是我用来传递数据的代码:

function Graph(data){
var chart = Ti.UI.createWebView({
    url: "/results.html",
    width: Ti.UI.SIZE,
    height: "auto",
    top: 110
});

for (var i=0, l=data.length; i<l; i++){
    if (data[i] instanceof Array) data[i] = data[i].join(";");
}
var syndata = data.join("@");

chart.addEventListener('beforeload',function(e){
    chart.evalJS("var syndata ='"+syndata+"';");
});

this.chart = chart;

return;
};

module.exports = Graph;

我尝试传递不同类型的数据,发现它只适用于字符串,所以我将数组转换为字符串 “趋势;答案数量@Item1;2@....” 在 results.html 中,我再次将其转换为数组,并将其读入图表:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
var dt = syndata.split("@");
for(var i = 0, l = dt.length; i<l; i++) dt[i] = dt[i].split(";");

  google.load("visualization", "1", {packages:["corechart"]});
  function drawChart(d) {

    var data = google.visualization.arrayToDataTable(d);

    var options = {
      title: 'Overview',
      chartArea:{left:5,top:5,width:"100%",height:"100%"}
    };

    var chart = new google.visualization.PieChart(document.getElementById('chart'));
    chart.draw(data, options);
  }

  google.setOnLoadCallback(function(){ drawChart(dt) });
</script>

但是,我只得到一个灰色图表,其中一项显示“其他”。当我将数组直接粘贴到文件中并从中引用时,它工作正常......我尝试直接从 results.html 输出带有 Ti.API.info 的数组以查看是否有错误,但一切似乎都很好。有任何想法吗?

【问题讨论】:

    标签: javascript titanium google-visualization titanium-mobile


    【解决方案1】:

    【讨论】:

    • 这并没有直接帮助我回答我的问题,但它确实帮助我确定出了什么问题。我尝试使用代码中的更新函数,却发现它从不接受我的数据数组中的值,只接受标签。我的理论:因为我从字符串转换数组,所以每个项目的值也是一个字符串。添加了一个额外的行将其转换回整数,现在它可以工作了!谢谢,如果没有这个例子,我永远不会想到这一点:)
    • 这个答案只是一个链接 - 和一个 404 页面。请在答案中包含链接内容的详细信息,以便在链接失效的情况下,其他用户可以获得一些使用。 meta.stackexchange.com/questions/72000/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多