Highcharts Pyramid Chart在JSON中不显示数据,PHP

问题描述:

在Highcharts中对金字塔图使用JSON时,控制台日志中没有任何错误,但没有显示数据。Highcharts Pyramid Chart在JSON中不显示数据,PHP

我有charts.php其结果是这样的:

{"success":1,"data":[{"name":"John Spoon","data":300}, {"name":"Dave Jones","data":200},{"name":"Other","data":500}]} 

这是我已经试过,不返回任何数据。

<div id="chart" style= 
         "height:600px;width:100%;"></div> 

<script> 
$(function() { 
    $("#chart").html("Loading Activity Log Graph..."); 

    var options = { 
     chart: { 
      type: 'pyramid', 
      renderTo: 'chart', 
      marginRight: 100 
     }, 
     title: { 
      text: 'Activity', 
      x: -50 
     }, 
     plotOptions: { 
      series: { 
       dataLabels: { 
        enabled: true, 
        format: '<b>{point.name}</b> ({point.y:,.0f})', 
        color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black', 
        softConnector: true 
       } 
      } 
     }, 
     legend: { 
      enabled: false 
     }, 
     name: 'Activity Count', 
     series: [{}] 
    }; 

    $.ajax({ 
     url: "charts.php", 
     type:'post', 
     dataType: "json", 
     success: function(data){ 
      options.series = data.data; 
      var chart = new Highcharts.Chart(options);   
     } 
    }); 

}); 
</script> 

这是我想要的结果,表明了无需使用JSON的: http://jsfiddle.net/0dyy44hz/

什么我需要改变它显示的数据?

看着pyramid example,数据必须是单个系列的形式,每个数据点为[name, value]的数组。你有两个选择,改变你的PHP输出正确的格式或在JavaScript中修改PHP输出。既然你没有张贴你的PHP代码,我会做后:

var data = {"success":1,"data":[{"name":"John Spoon","data":300}, {"name":"Dave Jones","data":200},{"name":"Other","data":500}]};  

options.series = [{ 
    data: $.map(data.data, function(i){ // loop outputted data 
     return [[i.name, i.data]]; // coerce into an array of [name,value] 
    }) 
}]; 

这里的工作example

+0

感谢您的回复,我试图从矿山到'成功改变了ajax成功函数:function(数据){ \t \t \t \t options.series = {[ 数据:$ .MAP(data.data,功能(i){ return [[i.name,i.data]]; }) \t \t}]; var chart = new Highcharts.Chart(options); '但是我在控制台日志中得到一个格式错误,它指示我到这里:http://www.highcharts.com/errors/14 – Koala 2014-10-16 14:38:52

+0

忽略上述内容,我在PHP中改变了一些正在破坏它的东西。这工作,谢谢! – Koala 2014-10-16 14:49:01