当前位置: 代码迷 >> Web前端 >> PieChart示范
  详细解决方案

PieChart示范

热度:167   发布时间:2012-11-14 10:12:19.0
PieChart示例
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white"
        creationComplete="initDP();" viewSourceURL="srcview/index.html">

    <mx:Script>
        <![CDATA[
			//声明一个unit类型的常数,用以表示饼状图的项目数
            private const MAX_ITEMS:uint = 10;
			/* dp[] */
			[Bindable]
			private var dp:Array;
            private function initDP():void {
                var i:uint;
                dp=new Array();
                for (i = 0; i <= MAX_ITEMS; i++) {
					//将数据压入到dp中,数据格式{data:int,label:itemi}
                    dp.push({data:getRandomUint(100), label:"item " + i});
                }
            }

            private function getRandomUint(max:uint):uint {
				//round()取整,random()获得随机数
                return Math.round(Math.random() * max);
            }
        ]]>
    </mx:Script>
	<!--<mx:Array id="dp" />-->
	<!--画按钮-->
    <mx:ApplicationControlBar dock="true">
        <mx:Button label="Change Data"
                click="initDP();" />
    </mx:ApplicationControlBar>
	<!--画饼图-->
    <mx:PieChart id="chart"
            height="100%"
            width="100%"
            dataProvider="{dp}">
        <mx:series>
            <mx:PieSeries field="data">
                <mx:showDataEffect>
					<!--渐变时间为1000毫秒-->
                    <mx:SeriesInterpolate duration="1000" />
                </mx:showDataEffect>
            </mx:PieSeries>
        </mx:series>
    </mx:PieChart>
	
</mx:Application>

?

使用<mx:Array id="dp" />可以减少代码,例子如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white"
        creationComplete="initDP();" viewSourceURL="srcview/index.html">

    <mx:Script>
        <![CDATA[
			//声明一个unit类型的常数,用以表示饼状图的项目数
            private const MAX_ITEMS:uint = 10;
            private function initDP():void {
                var i:uint;
				dp=[];
                for (i = 0; i <= MAX_ITEMS; i++) {
					//将数据压入到dp中,数据格式{data:int,label:itemi}
                    dp.push({data:getRandomUint(100), label:"item " + i});
                }
            }

            private function getRandomUint(max:uint):uint {
				//round()取整,random()获得随机数
                return Math.round(Math.random() * max);
            }
        ]]>
    </mx:Script>
	<mx:Array id="dp" />
	<!--画按钮-->
    <mx:ApplicationControlBar dock="true">
        <mx:Button label="Change Data"
                click="initDP();" />
    </mx:ApplicationControlBar>
	<!--画饼图-->
    <mx:PieChart id="chart"
            height="100%"
            width="100%"
            dataProvider="{dp}">
        <mx:series>
            <mx:PieSeries field="data">
                <mx:showDataEffect>
					<!--渐变时间为1000毫秒-->
                    <mx:SeriesInterpolate duration="1000" />
                </mx:showDataEffect>
            </mx:PieSeries>
        </mx:series>
    </mx:PieChart>
</mx:Application>

?

?

  相关解决方案