问题描述
||
我正在尝试使用type = \“ 100%\”以及正值和负值的混合来制作堆积的柱形图。
当所有值都是正数时,表示功能良好,但是当负数出现在游戏中时,它看起来完全混乱了。
当我同时查看Adobe文档时(请参见此处),我看到以下代码包含负数的堆积柱形图:
<?xml version=\"1.0\"?>
<!-- charts/Stackednegative.mxml -->
<mx:Application xmlns:mx=\"http://www.adobe.com/2006/mxml\">
<mx:Script><![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var expenses:ArrayCollection = new ArrayCollection([
{Month:\"Jan\",Profit:-2000,Expenses:-1500},{Month:\"Feb\",Profit:1000,Expenses:-200},{Month:\"Mar\",Profit:1500,Expenses:-500}
]);
]]></mx:Script>
<mx:Panel title=\"Column Chart\">
<mx:ColumnChart id=\"myChart\" dataProvider=\"{expenses}\" showdatatips=\"true\">
<mx:horizontalAxis>
<mx:CategoryAxis
dataProvider=\"{expenses}\"
categoryField=\"Month\"
/>
</mx:horizontalAxis>
<mx:series>
<mx:ColumnSet type=\"stacked\" allowNegativeForStacked=\"true\">
<mx:series>
<mx:ColumnSeries
xField=\"Month\"
yField=\"Profit\"
displayName=\"Profit\"
/>
<mx:ColumnSeries
xField=\"Month\"
yField=\"Expenses\"
displayName=\"Expenses\"
/>
</mx:series>
</mx:ColumnSet>
</mx:series>
</mx:ColumnChart>
<mx:Legend dataProvider=\"{myChart}\"/>
</mx:Panel>
</mx:Application>
它工作正常。
但尝试更改:
<mx:ColumnSet type=\"stacked\" allowNegativeForStacked=\"true\">
至:
<mx:ColumnSet type=\"100%\" allowNegativeForStacked=\"true\">
并且您会看到它不在1月份的数据中,两个值都是负值,图表显示它们好像是正值,而在另外两个值中一个值是正值而另一个值是负值时,它仅显示积极的部分是100%...
它不是Flex Bug吗?我对此类数据有自己的看法,并且其行为方式也相同。我希望,如果在-200上堆叠800个,它将显示80%的上升和20%的下降,总计为100%。
顺便说一句:使用Flex 4,尽管这些都是mx组件。
非常感谢德国柏林的问候,
尼尔
解决方法
这是一个Flex错误。您可以在以下位置为其投票:
https://bugs.adobe.com/jira/browse/FLEXDMV-2137
和:
https://bugs.adobe.com/jira/browse/FLEXDMV-1986
我们面临着同样的问题。解决方法是建立自己的“百分比”系列并使用经典的堆积图。