Flex中如何利用innerRadius样式创建一定形状的圈形饼图(donut shaped pie charts)的例子

By Minidxer | October 19, 2008

接下来的例子演示了Flex中如何利用innerRadius样式,创建一定形状的圈形饼图(donut shaped pie charts)。

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.  
  7.     <mx:Script>
  8.         <![CDATA[
  9.             private function labelFunc(item:Object, field:String, index:Number, percentValue:Number):String {
  10.                 return item.name + ": " + 'n' + "AVG: " + item.avg;
  11.             }
  12.         ]]>
  13.     </mx:Script>
  14.  
  15.     <mx:ArrayCollection id="arrColl">
  16.         <mx:source>
  17.             <mx:Array>
  18.                 <mx:Object name="R Winn" obp=".353" slg=".445" avg=".300" />
  19.                 <mx:Object name="P Feliz" obp=".290" slg=".418" avg=".253" />
  20.                 <mx:Object name="O Vizquel" obp=".305" slg=".316" avg=".246" />
  21.                 <mx:Object name="B Molina" obp=".298" slg=".433" avg=".276" />
  22.                 <mx:Object name="R Durham" obp=".295" slg=".343" avg=".218" />
  23.             </mx:Array>
  24.         </mx:source>
  25.     </mx:ArrayCollection>
  26.  
  27.     <mx:ApplicationControlBar dock="true">
  28.         <mx:Label text="innerRadius:" />
  29.         <mx:HSlider id="slider"
  30.                 minimum="0"
  31.                 maximum="0.5"
  32.                 liveDragging="true" />
  33.     </mx:ApplicationControlBar>
  34.  
  35.     <mx:PieChart id="chart"
  36.             height="100%"
  37.             width="100%"
  38.             innerRadius="{slider.value}"
  39.             showDataTips="true"
  40.             dataProvider="{arrColl}" >
  41.         <mx:series>
  42.             <mx:PieSeries labelPosition="callout"
  43.                     field="avg"
  44.                     labelFunction="labelFunc">
  45.                 <mx:calloutStroke>
  46.                     <mx:Stroke weight="0"
  47.                             color="0x888888"
  48.                             alpha="100"/>
  49.                 </mx:calloutStroke>
  50.                 <mx:radialStroke>
  51.                     <mx:Stroke weight="0"
  52.                             color="#FFFFFF"
  53.                             alpha="20"/>
  54.                 </mx:radialStroke>
  55.                 <mx:stroke>
  56.                     <mx:Stroke color="0"
  57.                             alpha="20"
  58.                             weight="2"/>
  59.                 </mx:stroke>
  60.             </mx:PieSeries>
  61.         </mx:series>
  62.     </mx:PieChart>
  63.  
  64. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Chart | No Comments » | Tags: , ,

Search Posts