Flex:堆积条形图,日期为 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>

我用这段代码得到的是右轴,但没有绘制条形图。

我想得到一个像这个图这样的图表,但在 X 轴上应该有站立日期。

仅供参考,这是一个移动应用程序。

<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>

在标签功能中,您可以为标签提供要在轴中显示的内容,希望这会有所帮助

相关内容

  • 没有找到相关文章

最新更新