0

我正在尝试创建一个 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 的顺序进行排序,但我似乎找不到如何排序,我真的很感激有人在图表方面的卓越知识。;)

4

0 回答 0