2013-07-01 59 views
0

我通過循環創建ArrayCollection,然後想要使用此ArrayCollection構建折線圖。唯一的問題是,我的ArrayCollection中只有值,並且沒有用於構建折線圖的關鍵字。我如何添加關鍵字到我的ArrayCollection?或者有沒有辦法構建一個沒有關鍵字的線條圖?將關鍵字添加到ArrayCollection Flex

這裏是創建一個ArrayCollection的代碼:

[Bindable] public var Graph_:ArrayCollection; 

     public function populateArray():void { 

     var Graph_:ArrayCollection = new ArrayCollection(); 

     for (var i:int=0; i<=500; i++){ 

      var depth_:Number = i*10; 
      var pressure:Number = 100+i; 
      Graph_.addItem([depth_,pressure]); 

      } 
// I want to use it further in this way: 

<mx:LineChart id="chart" 
      dataProvider= "{Graph_}" 
      showDataTips="true"> 

    <mx:horizontalAxis> 
     <mx:CategoryAxis categoryField="Depth" /> 
    </mx:horizontalAxis> 

    <mx:series> 
     <mx:LineSeries yField="Pressure" form="curve" displayName="Pressure"/> 
    </mx:series> 

    </mx:LineChart> 
+1

創建一個對象,添加您的字段,添加對象到arrayCollection – Ryan

回答

0

這是@布賴恩主教建議你這樣做:

public function populateArray():void { 

    Graph_ = new ArrayCollection(); 
    for (var i:int=0; i<=500; i++) { 

     var depth_:Number = i*10; 
     var pressure:Number = 100+i; 
     // add an object who's property names are "depth", "pressure" 
     // use these names when configuring the axis/line series of the chart 
     Graph_.addItem({ depth: depth_, pressure: pressure }); 
    } 
} 

當您添加項目到ArrayCollection,加他們爲匿名對象的包含您的數據。現在您可以告訴圖表使用這些「關鍵字」(屬性名稱)。

注:我也改變這一行:Graph_ = new ArrayCollection();

你的代碼是使用本地Graph_變量,只在函數內部存在的,不是你的類中定義的變量[Bindable] Graph_

+0

非常感謝!有效! – user2538414

相關問題