我正在尝试使用type =“100%”和正值和负值的混合来制作堆积柱形图。 当所有的值都是正数时,功能很好,但是当负数出现在游戏中时,它看起来完全搞砸了。
当我也查看Adobe文档(看here)时,我看到下面的堆积柱形图代码涉及负数:
<?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%。
BTW:使用Flex 4,尽管这些都是mx组件。
非常感谢德国柏林, 尼尔。
答案 0 :(得分:0)
这是一个Flex错误。您可以在以下地址投票: https://bugs.adobe.com/jira/browse/FLEXDMV-2137 和: https://bugs.adobe.com/jira/browse/FLEXDMV-1986
我们遇到了同样的问题。解决方法是构建自己的“百分比”系列并使用经典的堆叠图表。