我正在制作一个图表,其中 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>
在标签功能中,您可以为标签提供要在轴中显示的内容,希望这会有所帮助