我正在尝试创建一个 BarChart,它将按照取决于该值的顺序显示 ColumnSeries 中的值。
例如,如果我在 BarChart 中有一个 ColumnSeries ,一个显示利润,另一个显示费用,如果利润大于费用,它将正确呈现,因为费用系列呈现在顶部。
但是,如果费用超过利润,则利润将不可见,因为它将在费用下呈现。
在这一点上,我将尝试包含一个图像来显示我的问题......
好的,事实证明我不允许显示图像:(
该图像确实显示 2 月份的利润为 500,但 1 月份的 300 利润被隐藏,因为 500 的费用显示在它上面。
您可以运行以下代码来创建示例:
<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:300, Expenses:500},
{Month:"Feb", Profit:500, Expenses:300}
]);
]]></mx:Script>
<mx:Panel title="Bar Chart">
<mx:BarChart id="myChart" dataProvider="{expenses}" showDataTips="true" type="overlaid" >
<mx:verticalAxis>
<mx:CategoryAxis dataProvider="{expenses}" categoryField="Month" />
</mx:verticalAxis>
<mx:series>
<mx:BarSeries yField="Month" xField="Profit" displayName="Profit" />
<mx:BarSeries yField="Month" xField="Expenses" displayName="Expenses" />
</mx:series>
</mx:BarChart>
<mx:Legend dataProvider="{myChart}"/>
</mx:Panel>
一个明显的解决方案是使 BarChart 类型“聚集”,因为这两个值都会被看到,但是我的客户要求 BarChart 被“覆盖”,因此目前隐藏了一些较小的值。
我希望有一种方法可以对 BarSeries 的顺序进行排序,但我似乎找不到如何排序,我真的很感激有人在图表方面的卓越知识。;)