2012-04-13 168 views
1

我在製作一個圖表,其中x軸需要有日期和y軸名稱。當日期晚些時候,酒吧的長度更長。但我想在彼此上堆疊多個酒吧。例如Flex:堆疊條形圖,日期爲x軸,名稱爲y軸

這是我至今

<fx:Script> 
    <![CDATA[ 

     import mx.collections.ArrayCollection; 

     [Bindable] 
     private var medicines:ArrayCollection = new ArrayCollection([ 
      {name:"pil1", date:"05/01/2008"}, 
      {name:"pil2", date:"06/01/2008"}, 
      {name:"pil3", date:"07/01/2008"}, 
     ]); 
    ]]> 
</fx:Script> 



<mx:BarChart id="myChart" width="758" height="448" dataProvider="{medicines}" showDataTips="true"> 

    <mx:verticalAxis> 
     <mx:CategoryAxis categoryField="name"/> 
    </mx:verticalAxis> 

    <mx:horizontalAxis> 
     <mx:CategoryAxis categoryField="date" dataProvider="{medicines}"/> 
    </mx:horizontalAxis> 

    <mx:series> 

     <mx:BarSet type="stacked"> 
      <mx:BarSeries xField="date"/> 
      <mx:BarSeries xField="date"/> 
     </mx:BarSet> 
    </mx:series> 

</mx:BarChart> 

我得到了這個代碼是正確的軸,但是沒有被抽酒吧的代碼。

我想要得到一個像this figure一樣的圖表,但在X軸上應該有常規日期。

僅供參考,它是一個移動應用程序。

+0

有你沒有設定值,只有兩根弦儘量設置一些值,而不是字符串 – Triode 2012-04-13 09:11:54

+0

我沒有價值。只是標記酒吧長度的日期。日期是我的價值觀。我現在試圖將日期轉換爲數字,但我希望會有一個更容易的溶劑 – Tommyke 2012-04-13 09:30:49

+0

是的,你可以在tio毫秒內將其轉換並賦值 – Triode 2012-04-13 10:04:18

回答

0
<fx:Script> 
     <![CDATA[ 
      import mx.collections.ArrayCollection; 
      import mx.events.FlexEvent; 

      [Bindable] 
      private var medicines:ArrayCollection = new ArrayCollection([ 
       {name:"pil1", date:new Date(2008, 5, 1).time}, 
       {name:"pil2", date:new Date(2008, 6, 1).time}, 
       {name:"pil3", date:new Date(2008, 7, 1).time}, 
      ]); 

      protected function application3_creationCompleteHandler(event:FlexEvent):void 
      { 
       // TODO Auto-generated method stub 
      } 

      private function getLabel(catValue:*, prevCatValue:*, axis:*, catItem:*):String 
      { 

       return "Your date String"; 
      } 

     ]]> 
    </fx:Script> 



    <mx:BarChart id="myChart" width="758" height="448" dataProvider="{medicines}" showDataTips="true"> 

     <mx:verticalAxis> 
      <mx:CategoryAxis categoryField="name"/> 
     </mx:verticalAxis> 

     <mx:horizontalAxis> 
      <mx:CategoryAxis categoryField="date" dataProvider="{medicines}" labelFunction="{getLabel}"/> 
     </mx:horizontalAxis> 

     <mx:series> 

      <mx:BarSet type="stacked"> 
       <mx:BarSeries xField="date"/> 
       <mx:BarSeries xField="date"/> 
      </mx:BarSet> 
     </mx:series> 

    </mx:BarChart> 



</s:Application> 

在標籤功能,你可以給你想要的軸顯示什麼標籤,希望這將有助於