0

我正在尝试在我的饼图中显示数据。如果我的 dataprovide 中有多个字段(例如:EmployeeA、EmployeeB..etc),一切都会很好。馅饼将被分成几块,每块上都有文字。

但是,如果我的数据提供者只有一个字段(例如:EmployeeA)。饼图将显示整个饼图,饼图上没有文字。我想知道是否有任何方法可以在饼图中显示数据文本。非常感谢。

代码:

<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.
4

1 回答 1

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 删除标签(现在为零,因为当饼图中只有 1 个项目时没有 nextNeighbor)

 if (rscale * Number(labelFormat.size) < insideLabelSizeLimit)
            {
                ld.prev.next = ld.next;
                ld.next.prev = ld.prev;
                removedLabels.push(ld);
于 2012-04-30T22:27:52.477 回答