Flex中如何创建一个线性斜度填充列图(ColumnChart)的例子

By Minidxer | December 4, 2008

接下来的例子演示了Flex中如何创建一个线性斜度填充列图(ColumnChart)。

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


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

Download: main.mxml
  1. <?xml version="1.0"?>
  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.             import mx.charts.chartClasses.IAxis;
  10.  
  11.             private function linearAxis_labelFunc(item:Object, prevValue:Object, axis:IAxis):String {
  12.                 return currencyFormatter.format(item);
  13.             }
  14.  
  15.             private function categoryAxis_labelFunc(item:Object, prevValue:Object, axis:CategoryAxis, categoryItem:Object):String {
  16.                 var datNum:Number = Date.parse(item);
  17.                 var tempDate:Date = new Date(datNum);
  18.                 return dateFormatter.format(tempDate).toUpperCase();
  19.             }
  20.         ]]>
  21.     </mx:Script>
  22.  
  23.     <mx:DateFormatter id="dateFormatter" formatString="DD" />
  24.     <mx:CurrencyFormatter id="currencyFormatter" precision="2" />
  25.  
  26.     <mx:XMLListCollection id="dp">
  27.         <mx:source>
  28.             <mx:XMLList>
  29.                 <quote date="8/1/2007" open="40.29" close="39.58" />
  30.                 <quote date="8/2/2007" open="39.4" close="39.52" />
  31.                 <quote date="8/3/2007" open="39.47" close="38.75" />
  32.                 <quote date="8/6/2007" open="38.71" close="39.38" />
  33.                 <quote date="8/7/2007" open="39.08" close="39.42" />
  34.                 <quote date="8/8/2007" open="39.61" close="40.23" />
  35.                 <quote date="8/9/2007" open="39.9" close="40.75" />
  36.                 <quote date="8/10/2007" open="41.3" close="41.06" />
  37.                 <quote date="8/13/2007" open="41" close="40.83" />
  38.                 <quote date="8/14/2007" open="41.01" close="40.41" />
  39.                 <quote date="8/15/2007" open="40.22" close="40.18" />
  40.                 <quote date="8/16/2007" open="39.83" close="39.96" />
  41.                 <quote date="8/17/2007" open="40.18" close="40.32" />
  42.                 <quote date="8/20/2007" open="40.55" close="40.74" />
  43.                 <quote date="8/21/2007" open="40.41" close="40.13" />
  44.                 <quote date="8/22/2007" open="40.4" close="40.77" />
  45.                 <quote date="8/23/2007" open="40.82" close="40.6" />
  46.                 <quote date="8/24/2007" open="40.5" close="40.41" />
  47.                 <quote date="8/27/2007" open="40.38" close="40.81" />
  48.             </mx:XMLList>
  49.         </mx:source>
  50.     </mx:XMLListCollection>
  51.  
  52.     <mx:ColumnChart id="columnChart"
  53.             showDataTips="true"
  54.             dataProvider="{dp}"
  55.             width="100%"
  56.             height="100%">
  57.  
  58.         <!-- vertical axis -->
  59.         <mx:verticalAxis>
  60.             <mx:LinearAxis baseAtZero="false"
  61.                     labelFunction="linearAxis_labelFunc" />
  62.         </mx:verticalAxis>
  63.  
  64.         <!-- horizontal axis -->
  65.         <mx:horizontalAxis>
  66.             <mx:CategoryAxis id="ca"
  67.                     categoryField="@date"
  68.                     title="August 2007"
  69.                     labelFunction="categoryAxis_labelFunc" />
  70.         </mx:horizontalAxis>
  71.  
  72.         <!-- horizontal axis renderer -->
  73.         <mx:horizontalAxisRenderers>
  74.             <mx:AxisRenderer axis="{ca}"
  75.                     canDropLabels="true" />
  76.         </mx:horizontalAxisRenderers>
  77.  
  78.         <!-- series -->
  79.         <mx:series>
  80.             <mx:ColumnSeries displayName="Open"
  81.                     xField="@date"
  82.                     yField="@open">
  83.                 <mx:fill>
  84.                     <mx:LinearGradient id="linearGradient">
  85.                         <mx:entries>
  86.                             <mx:Array>
  87.                                 <mx:GradientEntry color="red"
  88.                                         ratio="0.0"
  89.                                         alpha="1.0" />
  90.                                 <mx:GradientEntry color="black"
  91.                                         ratio="1.0"
  92.                                         alpha="1.0" />
  93.                             </mx:Array>
  94.                         </mx:entries>
  95.                     </mx:LinearGradient>
  96.                 </mx:fill>
  97.             </mx:ColumnSeries>
  98.         </mx:series>
  99.  
  100.         <!-- series filters -->
  101.         <mx:seriesFilters>
  102.             <mx:Array />
  103.         </mx:seriesFilters>
  104.     </mx:ColumnChart>
  105.  
  106. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

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

Search Posts