我正在使用 GoogleCharts API 来显示带有性别重新分配的饼图,但我遇到了一个小问题,我的饼图不完整,如下图所示。
我用这个 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 字符串:
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 图表饼图不完整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35341473/