Thursday, March 26, 2009

PieChart per item fill

Sample application for per item fill using PieChart

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:Script>
<![CDATA[
import mx.graphics.SolidColor;
import mx.graphics.IFill;
import mx.charts.ChartItem;
/* */
[Bindable]
private var date:Date = new Date();
/* */
private function pieFill(item:ChartItem, index:Number):IFill
{
var solidColor:SolidColor = new SolidColor(Math.round(getRandomNumber(uint.MIN_VALUE + 10000, uint.MAX_VALUE)));
return solidColor;
}
/* */
private function getRandomNumber(min:Number, max:Number):uint
{
return (Math.floor(Math.random() * (max - min + 1)) + min);
}
]]>
</mx:Script>
<mx:ArrayCollection id="arr">
<mx:Array>
<mx:Object name="Ashok" age="{date.getFullYear() - new Date(1984,03,05).getFullYear()}" />
<mx:Object name="Arun" age="{date.getFullYear() - new Date(1984,06,06).getFullYear()}" />
<mx:Object name="Mohan" age="{date.getFullYear() - new Date(1981,01,26).getFullYear()}" />
</mx:Array>
</mx:ArrayCollection>
<mx:PieChart id="pie"
dataProvider="{arr}" showDataTips="true">
<mx:series>
<mx:PieSeries
nameField="name"
field="age" fillFunction="pieFill"/>
</mx:series>
</mx:PieChart>
</mx:WindowedApplication>

Note: Change the root and end tag to <Application></Application> to run it in the browser.









No comments:

Post a Comment