2012-11-08 76 views
0

我正在使用JQPlot通過JSON從MySQL表中提供餅圖,並試圖查看是否有任何可以爲我回答問題的大師。我有餅圖工作,因爲它需要一個數組,按照總量的百分比進行分割,並顯示圖表。從這裏開始,是否有可能提供另一個值來成爲派的總價值,從中減去數組的總價值,並顯示數組項目相對於整個派的百分比?例如,如果我給JQPlot這個數組[[a,2],[b,4],[c,2]]這個數組,它將輸出一個圖表,顯示a = 25%,b = 50% ,c =總餡餅的25%。我想給它10的另一個值來表示整個餅圖,從而迫使這個數組輸出一個= 20%,b = 40%,c = 20%,剩餘的20%。JQPlot餅圖2D功能

我開始的代碼是來自JQPlot網站的基本餅圖示例,我的期望總餅圖值設置爲從getGrossTotal.php中輸入。如果不能完成,就無法完成。我只是想檢查一下如何處理它的想法。

$(document).ready(function(){ 
$.getJSON('getGrossTop.php', function(grossTop){ 

var plot1 = jQuery.jqplot ('pieChart', [grossTop],{ 
    seriesDefaults: { 
     renderer: jQuery.jqplot.PieRenderer, 
     rendererOptions: { 
      showDataLabels: true 
     } 
    }, 
    legend: { 
     show:true, 
     location: 'e' 
    }, 
}); 

}); 
}); 

謝謝!

回答

0

沒關係。我沒有試圖在javascript中處理額外的數字,而是返回到PHP端,合計每個次要數組的值,從數據庫中的所有數據總和中減去該結果,並將結果推送到主數組中進行編碼。它基本上做了一個額外的小數組項目,沒有任何標籤和我想要的數字的值。當我把所有這些都傳遞給JQPlot時,它給了我想要的東西。感謝所有看過的人。

0

如果你想設置在jqPlot級別(但我認爲這項工作更清潔,如果你使用PHP) 我認爲最好是在PHP級別工作,但是如果你需要在輸入數據數組,你可以通過兩種方式來完成;

1)$ .jqplot()調用之前

您想進一步的元素添加到包含所有值的總和的10%的陣列。 所以

$.getJSON('getGrossTop.php', function(grossTop){ 

grossTop.push(['d',8.8]); //here you can insert what and many elements you want 

var plot1 = jQuery.jqplot ('pieChart', [grossTop],{ 

2)$ .jqplot()調用後

您需要第四個元素直接添加在jqPlot對象

plot1.data[0].push(['d',8.8]); 

但請記住,你需要再次重新繪製圖表!