Google图表工具 - JSON格式

时间:2013-09-25 21:02:00

标签: google-visualization pygooglechart

我在Google Chart Tool的文档中使用了正确的JSON结构,但请查看:

enter image description here

正如您所看到的, BarChart 看起来很棒,但 PieChart 破了。

我使用相同的数据,你可以在这个JS上看到:

    function drawChart() {
      var element = $('#overall');
      var element2 = $('#overall2');

      var link = element.data('link');

      var jsonData = $.ajax({
          url: link,
          dataType:"json",
          async: false
          }).responseText;

      // Create our data table out of JSON data loaded from server.
      var data = new google.visualization.DataTable(jsonData);


      // Set chart options
      var options = {'title':'Overall progress',
                     'width':400,
                     'height':300};

      // Instantiate and draw our chart, passing in some options.
      var chart = new google.visualization.BarChart(element[0]);
      chart.draw(data, options);



      var chart2 = new google.visualization.PieChart(element2[0]);
      chart2.draw(data, options);

    }

看起来很奇怪,因为在this example from the docs上,他们使用具有相同JSON的PieChart。

genarated JSON就是这样:

{
   "cols": [
       {"id": "","label": "Topping","pattern": "","type": "string"},
       {"id": "","label": "Slices","pattern": "","type": "number"}
   ],

   "rows": [
        {"c": [{"v": "Mushrooms"},{"v": "3"}]},
        {"c": [{"v": "Onions"},{"v": "1"}]},
        {"c": [{"v": "Olives"},{"v": "1"}]},
        {"c": [{"v": "Zucchini"},{"v": "1"}]},
        {"c": [{"v": "Pepperoni"},{"v": "2"}]}
   ]
}

有点不同,没有得到“f”:属性,因为它在服务器端是NULL。我应该只是将null格式化为String并获取:“f”:“null”?没有意义。

感谢。

编辑

ColumnChart和AreaChart都很好。

1 个答案:

答案 0 :(得分:1)

问题是你在数字上加上引号:{"v": "3"}应为{"v": 3}