我正在使用GoogleCharts API来显示具有性别分区的饼图,但是我有一个小问题,我的饼图不完整,如下图所示。
javascript - Google Charts Pie不完整-LMLPHP

我用这个JSON数组生成它:

{"cols":[{"id":"","label":"Topping","pattern":"","type":"string"},{"id":"","label":"Slices","pattern":"","type":"number"}],"rows":[{"c":[{"v":"Homme","f":null},{"v":"2","f":null}]},{"c":[{"v":"Femme","f":null},{"v":"1","f":null}]}]}


这是我的Javascript代码

function drawSexChart() {
      var jsonData = $.ajax({
          url: "http://localhost/studentlink/web/js/ajax.php?sexChart",
          dataType: "json",
          async: false
          }).responseText;
      var data = new google.visualization.DataTable(jsonData);
      console.log(jsonData);
      var chart = new google.visualization.PieChart(document.getElementById('chartUsersBySex'));
      chart.draw(data, null);
  }


我不知道为什么我的馅饼不完整。

如果有人可以帮助我?

先感谢您

汤玛士

最佳答案

最后,我只是找出为什么我的馅饼不完整,然后发布解决方案以帮助将来遇到相同问题的人们。

实际上,要生成JSON字符串,我在PHP对象中使用了json_encode PHP函数,该函数包含有关图表的所有信息。

但是实际上,我正在使用如下功能:

return json_encode($this);


结果

{"cols":[{"id":"","label":"Topping","pattern":"","type":"string"},{"id":"","label":"Slices","pattern":"","type":"number"}],"rows":[{"c":[{"v":"Homme","f":null},{"v":"2","f":null}]},{"c":[{"v":"Femme","f":null},{"v":"1","f":null}]}]}


在此结果中,我们可以看到数字代表我的值在"之间。

但是现在,如果我生成这样的JSON String:

return json_encode($this,JSON_NUMERIC_CHECK);


结果

{"cols":[{"id":"","label":"Topping","pattern":"","type":"string"},{"id":"","label":"Slices","pattern":"","type":"number"}],"rows":[{"c":[{"v":"Homme","f":null},{"v":3,"f":null}]},{"c":[{"v":"Femme","f":null},{"v":1,"f":null}]}]}


我的号码周围的"字符消失了,我吃饱了!

关于javascript - Google Charts Pie不完整,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35341473/

10-12 03:29