This topic provides sample code that illustrates how to create a pie chart for SALES BY COUNTRY.
Important: When you pass a field name to pieseries, you must use a verb as the prefix, followed by a dot operator (period), and then a numeric field as the suffix. For example:
Sum.SALES
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()"> <mx:Script> <![CDATA[ import mx.charts.Legend; import mx.charts.HitData; import mx.controls.Alert; public var grid1:ibiObject = new ibiObject(); public var fex:String = "http://localhost:8080/ibi_apps/WFServlet ?IBIF_ex=xmltest";
public function initApp():void { grid1.init(fex,dataReady); } public function dataReady(grid:ibiObject,obj:*):void { grid1.populateGrid(false); pieSet(); }
//=== pie Chart =================== public function pieSet():void { var aggField:Array = new Array(); var byField:Array = new Array(); var calOpts:Array = new Array(); aggField.push("DOLLARS"); byField.push("CITY"); calOpts.push("Sum"); grid1.aggregate(aggField, byField,calOpts,true,false); piechart.dataProvider = grid1.prGridagg; //Define series for the pieChart var mySeries:Array = new Array(); var series:PieSeries=new PieSeries(); //aggregated fields = field series.field = pieseries.field.valueOf(); //byFields = nameField series.nameField = pieseries.nameField.valueOf(); series.labelFunction=lblFunc; mySeries.push(series); piechart.series = mySeries; piechart.dataTipFunction = dtFunc; piechart.showDataTips = true; }
// data tool tips function for a piechart public function dtFunc(h:HitData):String { var dtText:String; dtText = h.item[pieseries.nameField.valueOf()] + "\n<B>" + cf.format(h.item[pieseries.field.valueOf()]) + "</B>"; return dtText; } //Label function for pie chart public function lblFunc(data:Object, field:String, index:Number, percentValue:Number):String { var temp:String= (" " + percentValue).substr(0,6); var temp1:String; temp1 = data[pieseries.nameField.valueOf()] + "\n" + temp + "%"; return temp1; } ]]> </mx:Script>
<mx:Style> PieSeries { labelPosition: callout; } </mx:Style> <mx:CurrencyFormatter id="cf" currencySymbol="$" /> <!--//piechart --> <mx:PieChart x="10" y="19" id="piechart" height="425" width="420"> <mx:series> <mx:PieSeries id="pieseries" field="Sum.DOLLARS" nameField="CITY"/> </mx:series> </mx:PieChart> <mx:Legend dataProvider="{piechart}" x="438" y="101"/> </mx:Application>
WebFOCUS |