1

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>

このコードで得られるのは右軸ですが、バーは描画されていません。

この図のようなグラフを取得したいのですが、X軸には立っている日付があるはずです。

参考までに、これはモバイルアプリケーションです。

4

1 に答える 1

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>

ラベル関数では、軸に表示したいものをラベルに付けることができます。これが役立つことを願っています

于 2012-04-13T10:13:04.343 に答える