0

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

在此处输入图像描述

如您所见,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);

    }

这看起来很奇怪,因为在文档中的这个示例中,他们使用了具有相同 JSON 的 PieChart。

生成的 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。我是否应该将 send null 格式化为 String 并获取: "f": "null" ?没有意义。

谢谢。

编辑

ColumnChart 和 AreaChart 也都很好。

4

1 回答 1

1

问题是您在数字周围加上引号:{"v": "3"}应该是{"v": 3}.

于 2013-09-25T22:39:15.010 回答