我使用下面的json来生成我的PieChart,但是它生成一个没有错误的空白图表。
以下是生成图表的代码:
$.post('/admin/relatorios/getVendasCidadeChart', {
dt_inicio: $("#datepicker-from").val(),
dt_fim: $("#datepicker-to").val()
}).done(function(donutData){
var dados = new google.visualization.DataTable(donutData);
var options = {
title: "Vendas por Cidade",
width: "100%",
height: "100%",
};
var chart = new google.visualization.PieChart(document.getElementById('vendas-cidade'));
chart.draw(dados, options);
});post请求的json输出:
{"cols":[{"id":"","label":"Loja","type":"string"},{"id":"","label":"Valor(R$)","type":"number"}],"rows":[{"c":[{"v":"Loja Shopping"},{"v":"8620.00"}]},{"c":[{"v":"Loja Centro"},{"v":"10240.00"}]}]}生成的图表:http://i.stack.imgur.com/Dfhe4.png
更新1
小提琴复制问题:https://jsfiddle.net/thatmesg/1/
发布于 2015-08-14 00:57:52
问题是我的价值观..。列"Valor“被定义为数字,但值以字符串形式出现,带有引号.
刚刚从我的JSON中删除了引号,它起了作用
{"cols":[{"id":"","label":"Loja","pattern":"","type":"string"},{"id":"","label":"Valor(R$)","pattern":"","type":"number"}],"rows":[{"c":[{"v":"Loja Shopping","f":null},{"v":8620.00,"f":null}]},{"c":[{"v":"Loja Centro","f":null},{"v":10240.00,"f":null}]}]}发布于 2015-08-09 23:30:51
我也有类似的“问题”,但那不是问题。我所有的饼片只返回0,这可能会发生,这在逻辑上是正确的。
将sliceVisibilityThreshold: 0添加到options变量中。它应该显示图例,即使没有数据。如果您将看到图例,那么我们可以假设Google图表库可以像预期的那样工作。如果不是..。那我们就进一步调查。
var options = {
legend: { position: 'top', maxLines: 6 },
sliceVisibilityThreshold: 0
};编辑:
我看到您使用了错误的括号类型:
这就是JSON应该看起来的样子。如果您使用PHP生成它,请不要忘记使用json_encode。
var data = google.visualization.arrayToDataTable([["Category","Hours"],["Compliance \/ Policy ($0.00)",0],["Harrassment ($0.00)",0],["Productivity ($0.00)",0],["Skills Gap ($0.00)",0],["Values Behaviour ($0.00)",0]]);我还看到你的JSON包含“键”。您应该执行类似的操作(移除键并将值传递给JSON):
$final['json'] = json_encode(array_values($pie_hours));
https://stackoverflow.com/questions/31909791
复制相似问题