<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
xmlns:charts="com.iwobanas.charts.*" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.charts.chartClasses.IAxis;
/**
* Axis label function converting item index to category name.
* If xField of the series is not specified Flex passes item index as labelValue.
* If labelValue is out of data provider indexes bounds empty string is returned.
*/
public function categoryLabelFunction(labelValue:Object, previousValue:Object, axis:IAxis):String
{
var index:int = int(labelValue);
if (index >= 0 && index < dp.length)
return dp[index].Month;
return "";
}
[Bindable]
public var dp:ArrayCollection = new ArrayCollection( [
{ Month: "Jan", Profit: 2000, Expenses: 1500, Amount: 450 },
{ Month: "Feb", Profit: 1000, Expenses: 200, Amount: 600 },
{ Month: "Mar", Profit: 1500, Expenses: 500, Amount: 300 },
{ Month: "Apr", Profit: 1800, Expenses: 1200, Amount: 900 },
{ Month: "May", Profit: 2400, Expenses: 575, Amount: 500 } ]);
]]>
</mx:Script>
<charts:ChartScroller chart="{columnChart}" />
<mx:Panel title="ChartScroller - CategoryAxis simulation" width="100%" height="100%">
<mx:ColumnChart id="columnChart" width="100%" height="100%"
gutterLeft="50" gutterRight="40" dataProvider="{dp}">
<mx:series>
<mx:ColumnSeries yField="Profit" />
<mx:ColumnSeries yField="Expenses" />
<mx:ColumnSeries yField="Amount" />
</mx:series>
<mx:horizontalAxis>
<mx:LinearAxis interval="1"
labelFunction="categoryLabelFunction" />
</mx:horizontalAxis>
</mx:ColumnChart>
</mx:Panel>
</mx:Application>