我在 flex 中有一个柱形图,它有很多列,用户可以选择按列顺序显示或叠加显示。根据用户屏幕,它使图表更具可读性。但是,然后我可以根据数据进行任何调用以更改叠加顺序。即最大的数据列在后面,被下一个最大的列覆盖,依此类推,直到最小的列位于顶部。当前默认行为一些小列被较大的列所掩盖,我不想更改 alpha 值来执行此操作。(首先感谢flashharry!因为我在一些讨论论坛中看到这个问题2-3 次,但在任何地方都没有回答)。这在弹性柱形图中可能吗???
任何帮助将不胜感激。
提前致谢..
@Serge他
代码示例:- 在下面的代码中,最近两个月的利润小于费用,所以我们看不到该系列,因为它在费用系列之后。我希望更大的价值永远落后于较小的价值
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx: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:1100, Expenses:500},
{Month:"Apr", Profit:1300, Expenses:900},
{Month:"May", Profit:900, Expenses:1200},
{Month:"June", Profit:1500, Expenses:2500}
]);
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:BorderContainer width="100%" height="100%" >
<s:layout>
<s:VerticalLayout horizontalAlign="center"/>
</s:layout>
<mx:ColumnChart id="myChart" width="65%"
dataProvider="{expenses}"
showDataTips="true"
type="overlaid"
>
<mx:horizontalAxis>
<mx:CategoryAxis
dataProvider="{expenses}"
categoryField="Month"
/>
</mx:horizontalAxis>
<mx:series>
<mx:ColumnSeries
yField="Profit"
displayName="Profit"
>
<mx:fill>
<s:SolidColor color="0x00ff00"/>
</mx:fill>
</mx:ColumnSeries>
<mx:ColumnSeries
yField="Expenses"
displayName="Expenses"
>
<mx:fill>
<s:SolidColor color="0xff0000"/>
</mx:fill>
</mx:ColumnSeries>
</mx:series>
</mx:ColumnChart>
<mx:Legend dataProvider="{myChart}"/>
<mx:DataGrid dataProvider="{expenses}" editable="true">
<mx:columns>
<mx:DataGridColumn dataField="Month" editable="true"/>
<mx:DataGridColumn dataField="Profit" editable="true"/>
<mx:DataGridColumn dataField="Expenses" editable="true"/>
</mx:columns>
</mx:DataGrid>
</s:BorderContainer>
</s:Application>