javascript - Google 饼图生成空白图表

标签 javascript json charts google-visualization

我使用以下 json 来生成 PieChart,但它生成了一个空白图表,没有错误。

以下 block 是我生成图表的代码:

$.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"}]}]}

生成的图表: /image/Dfhe4.png

更新1

fiddle 重现问题: https://jsfiddle.net/thatmesg/1/

最佳答案

我有类似的“问题”,但这不是问题。我所有的饼图切片都只是返回 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));

关于javascript - Google 饼图生成空白图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31909791/

相关文章:

javascript - 如何在从 HTML 生成的 pdf 中添加标题

javascript - WebDriverJS 控制流程

可以做 y 轴的 Javascript 图表库 --> 时间和 x 轴 ---> 日期

javascript - Shield UI 条形图重叠

javascript - 使用 Math.max 和 Math.min 从数组中删除最大和最小数字

javascript - 如何获取 Pixi 6 native 模块的 typescript 类型完成?

ios - Restkit 无法读取有效的 json?

json - 快速读取在线 JSON 文件

json - 祝福对象转换为 JSON

javascript - 使用 Rickshaw JS 库在 X 轴上显示自定义标签