2012-04-30 126 views
0

我想在我的pieChart中顯示數據。如果我在我的數據提供中有多個字段(例如:EmployeeA,EmployeeB..etc),一切都很好。餡餅將被分成幾塊,並在每塊上顯示文字。Flash Builder:PieChart問題

但是,如果我的數據提供者只有一個字段(例如:EmployeeA)。 pieChart將顯示pieChart上沒有文本的整個餅圖。我想知道是否有任何方法在pieChart中顯示數據文本。非常感謝。

代碼:

<mx:PieChart id="piechart1" x="254" y="321" width="367" height="367" 
     dataProvider="{getHours.lastResult}"> 
     <mx:series> 
<mx:PieSeries id="pieSeries" labelFunction="pieFunction" 
       explodeRadius="0.05" field="EmployeeOverTime" labelPosition="inside"/> 
      </mx:series> 
</mx:PieChart> 

//EmployeeOverTime data will show on each pie pieces if I have multiple 
//employees in the department but won't show if the department has only one employee. 

回答

1

它看起來就像是在PieSeries將代碼中的錯誤。爲了使這個工作正常,我不得不修補圖表代碼。這是一個可用的fxp文件。

http://dl.dropbox.com/u/20054635/forever/piechart.fxp

的錯誤是,對線3323有這樣的代碼:

var rscale:Number = 1; 
     // find out how much we would have to scale to get to the next neighbor up 
     /* var RXScale:Number = Math.abs(ld.labelX - nextNeighbor.labelX)/(ld.labelWidth/2 + nextNeighbor.labelWidth/2); 

然後在行3338它消除了基於rscale標籤(也就是現在的零,因爲沒有nextNeighbor時,有在餅圖中只有1項)

if (rscale * Number(labelFormat.size) < insideLabelSizeLimit) 
      { 
       ld.prev.next = ld.next; 
       ld.next.prev = ld.prev; 
       removedLabels.push(ld); 
+0

ty克林特,我試過你的方法,但仍然沒有運氣。任何其他方式你可以想到的? +1雖然 – Rouge

+0

看起來像PieSeries代碼中的錯誤......製作補丁。 – Clintm

+0

非常感謝。 :d – Rouge