PieChar,此代码参考网上
代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="100%" height="100%">
<mx:Script>
<![CDATA[
import mx.charts.series.items.PieSeriesItem;
import mx.charts.events.ChartItemEvent;
import mx.effects.easing.*;
private function perEvent(evt:ChartItemEvent):void{
var obj:PieSeriesItem = evt.hitData.chartItem as PieSeriesItem;
var dgrees:Number = radius(obj.startAngle);
var arr:Array = [];
if (cbox.selected)
arr[obj.index] = 0.2;
pser.perWedgeExplodeRadius = arr; //块变化
//pser.startAngle -= dgrees; //转动
pd.refresh();
}
private function radius(n1:Number):Number{
return n1*(180/Math.PI);
}
]]>
</mx:Script>
<!-- 显示的数据集 -->
<mx:XMLListCollection id="pd">
<mx:source>
<mx:XMLList xmlns="">
<product label="data1" data="5"/>
<product label="data2" data="7"/>
<product label="data3" data="1"/>
<product label="data4" data="3"/>
<product label="data5" data="8"/>
<product label="data6" data="4"/>
<product label="data7" data="6"/>
<product label="data8" data="9"/>
</mx:XMLList>
</mx:source>
</mx:XMLListCollection>
<mx:ApplicationControlBar dock="true" width="400">
<mx:CheckBox id="cbox" label="Selected" selected="true" />
</mx:ApplicationControlBar>
<mx:PieChart id="p1" dataProvider="{pd}" showDataTips="true" itemClick="perEvent(event);" >
<mx:series>
<mx:PieSeries id="pser" field="@data" nameField="@label">
<mx:showDataEffect>
<mx:SeriesInterpolate duration="2000" easingFunction="{Elastic.easeOut}" />
</mx:showDataEffect>
<mx:filters>
<mx:DropShadowFilter/>
</mx:filters>
</mx:PieSeries>
</mx:series>
</mx:PieChart>
<mx:Legend dataProvider="{p1}" direction="horizontal" />
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="100%" height="100%">
<mx:Script>
<![CDATA[
import mx.charts.series.items.PieSeriesItem;
import mx.charts.events.ChartItemEvent;
import mx.effects.easing.*;
private function perEvent(evt:ChartItemEvent):void{
var obj:PieSeriesItem = evt.hitData.chartItem as PieSeriesItem;
var dgrees:Number = radius(obj.startAngle);
var arr:Array = [];
if (cbox.selected)
arr[obj.index] = 0.2;
pser.perWedgeExplodeRadius = arr; //块变化
//pser.startAngle -= dgrees; //转动
pd.refresh();
}
private function radius(n1:Number):Number{
return n1*(180/Math.PI);
}
]]>
</mx:Script>
<!-- 显示的数据集 -->
<mx:XMLListCollection id="pd">
<mx:source>
<mx:XMLList xmlns="">
<product label="data1" data="5"/>
<product label="data2" data="7"/>
<product label="data3" data="1"/>
<product label="data4" data="3"/>
<product label="data5" data="8"/>
<product label="data6" data="4"/>
<product label="data7" data="6"/>
<product label="data8" data="9"/>
</mx:XMLList>
</mx:source>
</mx:XMLListCollection>
<mx:ApplicationControlBar dock="true" width="400">
<mx:CheckBox id="cbox" label="Selected" selected="true" />
</mx:ApplicationControlBar>
<mx:PieChart id="p1" dataProvider="{pd}" showDataTips="true" itemClick="perEvent(event);" >
<mx:series>
<mx:PieSeries id="pser" field="@data" nameField="@label">
<mx:showDataEffect>
<mx:SeriesInterpolate duration="2000" easingFunction="{Elastic.easeOut}" />
</mx:showDataEffect>
<mx:filters>
<mx:DropShadowFilter/>
</mx:filters>
</mx:PieSeries>
</mx:series>
</mx:PieChart>
<mx:Legend dataProvider="{p1}" direction="horizontal" />
</mx:Application>