Flex饼图

来源:互联网 发布:招聘网络推广主管 编辑:程序博客网 时间:2024/04/30 17:05
import com.adobe.serialization.json.JSON;
import mx.charts.PieChart;
import mx.charts.events.ChartItemEvent;
import mx.charts.series.PieSeries;
import mx.charts.series.items.PieSeriesItem;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;


[Bindable]
private var chartDataSource:ArrayCollection=new ArrayCollection();
private var pieChart:PieChart=new PieChart();  
private var pieSeries:PieSeries=new PieSeries(); 
//生成饼图  
private function piechart_resultHandler(event:ResultEvent):void  {  
hideBarChart();
var response:String = getpieChart.lastResult.toString();
var container:Object = (JSON.decode(response) as Object);
var chartDataSource:ArrayCollection = new ArrayCollection(container.chartData);
pieChart.dataProvider=chartDataSource;  
pieChart.percentWidth=100;  
pieChart.percentHeight=100;  
var myPieSeries:Array=new Array();  
pieSeries.field="courseSelected";  
pieSeries.nameField="courseName";  
pieSeries.setStyle("showDataEffect",interpolate);  
myPieSeries.push(pieSeries);  
var pieSeries2:PieSeries=new PieSeries();  
pieSeries2.field="courseSelected";  
pieSeries2.nameField="courseName";  
pieSeries2.setStyle("showDataEffect",interpolate);               
myPieSeries.push(pieSeries2);  
pieChart.series=myPieSeries;  
chartPanel.addChild(pieChart);  
pieChart.showDataTips=true;  
pieChart.addEventListener(ChartItemEvent.ITEM_CLICK,pieChart_itemClick);  
barButton.enabled = true;
pieButton.enabled = false;   
}  
private function pieChart_itemClick(evt:ChartItemEvent):void   
{  
var item:PieSeriesItem = evt.hitData.chartItem as PieSeriesItem;  
//var degrees:Number = radiansToDegrees(item.startAngle);  
var arr:Array = [];  
arr[item.index] = 0.15;  
pieSeries.perWedgeExplodeRadius = arr;  
//pieSeries.startAngle -= degrees;  
}  
private function hidePieChart():void{
chartPanel.removeChild(pieChart);
}