ColumnSeries内の値を値に依存する順序で表示する棒グラフを作成しようとしています。
たとえば、棒グラフにColumnSeriesがあり、一方が利益を示し、もう一方が費用を示している場合、費用シリーズが上に表示されるため、利益が費用よりも多い場合は正しく表示されます。
ただし、費用が利益を上回っている場合は、費用の下に表示されるため、利益は表示されません。
この時点で、問題を表示するための画像を含めてみます...
OK、画像を表示することは許可されていないことがわかりました:(
画像は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>
これに対する明らかな解決策は、両方の値が表示されるため、棒グラフタイプを「クラスター化」することですが、クライアントでは棒グラフを「オーバーレイ」する必要があるため、現在、いくつかの小さい値は非表示になっています。
BarSeriesの順序を並べ替える方法があると思いますが、その方法がわからないようです。チャートに関する優れた知識を持っている人には本当に感謝しています。;)