Flex中如何利用PieSeries类的stroke样式和mx.graphics.Stroke创建一个自定义边框颜色和厚度的PieChart图表的例子

By Minidxer | November 12, 2008

接下来的例子演示了Flex中如何利用PieSeries类的stroke样式和mx.graphics.Stroke,创建一个自定义边框颜色和厚度的PieChart图表。

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


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

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- http://blog.flexexamples.com/2007/11/06/customizing-strokes-in-a-flex-piechart-control/ -->
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  4.         layout="vertical"
  5.         verticalAlign="middle"
  6.         backgroundColor="white">
  7.  
  8.     <mx:Script>
  9.         <![CDATA[
  10.             import mx.graphics.Stroke;
  11.  
  12.             private function setStroke(evt:Event):void {
  13.                 var stroke:Stroke = new Stroke();
  14.                 stroke.color = colorPicker.selectedColor;
  15.                 stroke.weight = slider.value;
  16.                 pieSeries.setStyle("stroke", stroke);
  17.             }
  18.         ]]>
  19.     </mx:Script>
  20.  
  21.     <mx:XML id="dp">
  22.         <products>
  23.             <product label="Product 1" data="3" />
  24.             <product label="Product 2" data="1" />
  25.             <product label="Product 3" data="4" />
  26.             <product label="Product 4" data="1" />
  27.             <product label="Product 5" data="5" />
  28.             <product label="Product 6" data="9" />
  29.         </products>
  30.     </mx:XML>
  31.  
  32.     <mx:ApplicationControlBar dock="true">
  33.         <mx:Form>
  34.             <mx:FormItem label="color:">
  35.                 <mx:ColorPicker id="colorPicker"
  36.                         change="setStroke(event);" />
  37.             </mx:FormItem>
  38.             <mx:FormItem label="weight:">
  39.                 <mx:HSlider id="slider"
  40.                         minimum="0"
  41.                         maximum="10"
  42.                         value="1"
  43.                         liveDragging="true"
  44.                         snapInterval="1"
  45.                         tickInterval="1"
  46.                         change="setStroke(event);" />
  47.             </mx:FormItem>
  48.         </mx:Form>
  49.     </mx:ApplicationControlBar>
  50.  
  51.     <mx:PieChart id="pieChart"
  52.             dataProvider="{dp.product}"
  53.             height="250"
  54.             width="100%">
  55.         <mx:series>
  56.             <mx:PieSeries id="pieSeries"
  57.                     field="@data">
  58.                 <mx:stroke>
  59.                     <mx:Stroke color="black"
  60.                             weight="2" />
  61.                 </mx:stroke>
  62.                 <mx:filters>
  63.                     <mx:Array />
  64.                 </mx:filters>
  65.             </mx:PieSeries>
  66.         </mx:series>
  67.     </mx:PieChart>
  68.  
  69. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

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

Search Posts