2012-04-13 22 views
1

x軸に日付とy軸の名前が必要なチャートを作成しています。日付が遅い場合、バーの長さは長くなります。しかし、私はお互いに複数のバーを積み重ねたい。例フレックス:日付が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軸にはスタンディングの日付があるはずです。

FYIそれはモバイルアプリケーションです。ラベル関数で

+0

あなたが設定された値がないのに役立つことを願っています、唯一の2つの文字列が文字列の代わりにいくつかの値を設定しよう – Triode

+0

私は値を持っていません。バーの長さを示す日付にすぎません。日付は私の価値です。私は現在、日付を数値に変換しようとしていますが、より簡単な解決策があることを願っています。 – Tommyke

+0

はい、tio milli秒に変換して値を割り当てることができます – Triode

答えて

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> 

あなたが軸に表示したいラベルを与えることができ、これは

関連する問題