Highcharts没有使用json数据加载图表

时间:2014-06-04 18:47:42

标签: javascript json highcharts

我正在为我的应用程序使用highcharts。当我使用下面的代码时,图表将被渲染。

 obj.series=[{
  type: 'pie',
  name: 'Fruits',
  data: [
    ['Apple',   80.0],
    ['Mango', 20.0]
    ]
  }]

但我需要通过对服务器进行ajax调用来获取数据。因此,当我从服务器获取json响应并使用以下代码设置数据时,图表不会被渲染。

obj.series.data=[['Apple', 43],['Pear',57.0]]; //this data I get from the server.

能告诉我出错的地方吗?

我正在更新下面的完整代码:

var chartObj = {
        chart: {
          plotBackgroundColor: null,
          plotBorderWidth: null,
          plotShadow: false,
          backgroundColor:null
        },
        tooltip: {
          pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
        },
        plotOptions: {
          pie: {
            allowPointSelect: true,
            cursor: 'pointer',
            dataLabels: {
              enabled: true,
              color: '#000000',
              connectorColor: '#000000',
              format: '<b>{point.name}</b>: {point.percentage:.1f} %'
            }
          }
        },
        navigation: {
          buttonOptions: {
            enabled: false
          }
        },
        title:{
          text: 'Storage Data'
            },
        series:[{
          type: 'pie',
          name: 'Storage Data',
          /*data: [
            ['HP',   80.0],
            ['DELL', 20.0]
            ]*/
            }]
        }

         var storageData = $.getJSON('http://hostname/resturl/data', 
           function(data) { 
          var result = new Array();
          for (i=0;i<data.content.length;i++) {
              var alpha = new Array();
                      alpha.push(data.content[i].x);
              alpha.push(data.content[i].y);
                  result.push(alpha);
          }
            storageobj.series.data=result;       
          });
      $('#pie-chart2').highcharts(storageobj);

其余的Json如下:

{
 "links": [],
 "content": [
  {
    "x": "DELL",
    "y": 238
  },
  {
    "x": "HP",
    "y": 229
  }
],
"id": null
}

0 个答案:

没有答案