2012-05-09 25 views
1

我有以下代碼來呈現條形圖和餅圖。既接收相同的一組JSON數據從服務器如下: 一個:115.00 B:55.00 C:0.00 d:29.04JQPlot條形圖OK,但餅圖不正常 - 使用相同的輸入數據

對於一些原因,條形圖是能夠呈現它。但餅圖沒有任何顯示。

var AjaxDataRenderer = function(url, plot, options) { 
    var ret; 
    $.ajax({ 
     async: false, // Needed 
     url: "getData.php", 
     dataType:"json", 
     success: function(data) { 
      ret = data; 
     } 
    }); 
    return ret; 
}; 

var plot = $.jqplot('id-BarChart', [],{ 
    title: "TRIAL", 
    dataRenderer: AjaxDataRenderer, 
    seriesDefaults:{ 
     renderer:$.jqplot.BarRenderer, 
     rendererOptions: {fillToZero: true} 
    }, 
    series:[{color:'#5FAB78',label:"Actual"}], 
    legend: { 
     show: true, 
     placement: "insideGrid", 
     rendererOptions: { 
      textColor: "#FFFFFF", 
      fontSize: "10pt" 
     }}, 
    axes: { 
     xaxis: { 
      renderer: $.jqplot.CategoryAxisRenderer, 
      tickRenderer: $.jqplot.CanvasAxisTickRenderer , 
      tickOptions: { 
       angle: -30, 
       fontSize: '10pt' 
      } 
     }, 
     yaxis: { 
      min: 10, 
      max: 300, 
      tickOptions: { 
       formatString: '$%d' 
      } 
     } 
    } 
}); 

var plot = $.jqplot('id-PieChart', [],{ 
    dataRenderer: AjaxDataRenderer, 
    title: 'Expenditure pattern for this session', 
    seriesDefaults: { 
     renderer: jQuery.jqplot.PieRenderer, 
     rendererOptions: { 
      padding: 8,   
      showDataLabels: true 
      } 
    }, 
}); 

任何人都可以提供幫助嗎?

+0

編輯到您的答案如何使用的JSON看起來像(以JSON格式)。 – Boro

回答

0

已經做了一些調試,發現了以下工作。

這是PHP代碼,我有:

$rows = array(); 
$rows1 = array(); 
$j = 1; 
while($category = mysql_fetch_assoc($allCategories)) 
{ 
$current = 0 + $category['ExpenditureCurrent']; 
$toDate = 0 + $category['ExpenditureToDate'];  
$j += 1;  
$rows[] = array($category['Name'], $toDate); 
$rows1[] = array($category['Name'], $current); 
} 
echo json_encode(array($rows,$rows1)); 

由於種種原因,條形圖適合這些:

$current = $category['ExpenditureCurrent']; 
    $toDate = $category['ExpenditureToDate'];  

雖然餅圖需要這些:

$current = 0 + $category['ExpenditureCurrent']; 
    $toDate = 0 + $category['ExpenditureToDate'];