向Flex中的LineChart中动态添加线

来源:互联网 发布:base64解码 java 乱码 编辑:程序博客网 时间:2024/04/28 16:33
 
  1. package
  2. {
  3.         import mx.charts.CategoryAxis;
  4.         import mx.charts.Legend;
  5.         import mx.charts.LineChart;
  6.         import mx.charts.series.LineSeries;
  7.         import mx.collections.ArrayCollection;
  8.         import mx.containers.HBox;
  9.         import mx.containers.VBox;
  10.         public class createChat extends VBox
  11.         {
  12.                
  13.                 /**
  14.                  *
  15.                  * @用于根据一个ArrayCollection生成多个lineChat
  16.                  */
  17.                 //用于保存各chat
  18.                 public var chartArray:Array=new Array
  19.                 private var Width:int = 400
  20.                 private var Height:int = 300
  21.                 private var fontColor:String = "0x000000"
  22.                 /**
  23.                  *
  24.                  * @param S 主值
  25.                  * @param A        相关条件
  26.                  * @param D        dataProvider
  27.                  *
  28.                  *
  29.                  */
  30.                 public function createChat(S:String, A:Array, D:ArrayCollection):void
  31.                 {
  32.                         for (var i:int=0; i < A.length; i++)
  33.                         {
  34.                                 var _titleArr:Array=A[i].toString().split(",")
  35.                                 var lineChart:LineChart=new LineChart
  36.                                 lineChart.width=Width
  37.                                 lineChart.height=Height
  38.                                 lineChart.setStyle("color", fontColor)
  39.                                 lineChart.dataProvider=D;
  40.                                 var lineHAxis:CategoryAxis=new CategoryAxis()
  41.                                 lineHAxis.categoryField=S;
  42.                                 lineHAxis.dataProvider=D;
  43.                                 lineChart.horizontalAxis=lineHAxis;
  44.                                 var myLineSeries:Array=new Array();
  45.                                 for (var j:int=0; j < _titleArr.length; j++)
  46.                                 {
  47.                                         var lineSeries:LineSeries=new LineSeries();
  48.                                         lineSeries.xField=S;
  49.                                         lineSeries.yField=_titleArr[j];
  50.                                         lineSeries.displayName=_titleArr[j];
  51.                                         myLineSeries.push(lineSeries);
  52.                                 }
  53.                                 lineChart.series=myLineSeries;
  54.                                 var chartLegend:Legend=new Legend
  55.                                 chartLegend.setStyle("color", fontColor)
  56.                                 chartLegend.dataProvider=lineChart;
  57.                                 lineChart.showDataTips=true;
  58.         
  59.                                 var hbox:HBox=new HBox
  60.                                 hbox.addChild(lineChart);
  61.                                 hbox.addChild(chartLegend);
  62.                                 this.addChild(hbox);
  63.                                 chartArray.push(hbox);
  64.                         }
  65.                 }
  66.                 public function removeAll():void{
  67.                         this.removeAllChildren()
  68.                 }
  69.         }
  70. }
原创粉丝点击