Apache flex 对于折线图,如何在水平轴上显示按年份分组的月份?
基本上,我有一个折线图,x轴如下所示:Apache flex 对于折线图,如何在水平轴上显示按年份分组的月份?,apache-flex,charts,flex3,linechart,Apache Flex,Charts,Flex3,Linechart,基本上,我有一个折线图,x轴如下所示: ---|--------|--------|--------|--------|--------|--------|--- November December January February March April May <Chart> <Month count="1" month="November" year="2010" /> <Month count="5" month=
---|--------|--------|--------|--------|--------|--------|---
November December January February March April May
<Chart>
<Month count="1" month="November" year="2010" />
<Month count="5" month="December" year="2010" />
<Month count="0" month="January" year="2011" />
<Month count="10" month="February" year="2011" />
<Month count="3" month="March" year="2011" />
<Month count="9" month="April" year="2011" />
<Month count="3" month="May" year="2011" />
</Chart>
这很好,但我还想显示月份所属的年份,如下所示:
---|--------|--------|--------|--------|--------|--------|---
November December January February March April May
<Chart>
<Month count="1" month="November" year="2010" />
<Month count="5" month="December" year="2010" />
<Month count="0" month="January" year="2011" />
<Month count="10" month="February" year="2011" />
<Month count="3" month="March" year="2011" />
<Month count="9" month="April" year="2011" />
<Month count="3" month="May" year="2011" />
</Chart>
我的数据提供程序是一个xml文档,如下所示:
---|--------|--------|--------|--------|--------|--------|---
November December January February March April May
<Chart>
<Month count="1" month="November" year="2010" />
<Month count="5" month="December" year="2010" />
<Month count="0" month="January" year="2011" />
<Month count="10" month="February" year="2011" />
<Month count="3" month="March" year="2011" />
<Month count="9" month="April" year="2011" />
<Month count="3" month="May" year="2011" />
</Chart>
这是我为线形图控件准备的:
<mx:LineChart
height="100%"
width="100%"
dataProvider="{this._report.Month}">
<mx:backgroundElements>
<mx:GridLines>
<mx:horizontalStroke>
<mx:Stroke color="0x000000" weight="1" />
</mx:horizontalStroke>
</mx:GridLines>
</mx:backgroundElements>
<mx:horizontalAxisRenderers>
<mx:AxisRenderer
axis="{months}"
axisStroke="{axis}"
placement="bottom"
tickLength="5"
tickPlacement="outside"
labelRotation="45">
<mx:tickStroke>{ticks}</mx:tickStroke>
</mx:AxisRenderer>
</mx:horizontalAxisRenderers>
<mx:verticalAxisRenderers>
<mx:AxisRenderer
axis="{countForMonths}"
axisStroke="{axis}"
placement="bottom"
tickLength="5"
tickPlacement="outside"
minorTickPlacement="none">
<mx:tickStroke>{ticks}</mx:tickStroke>
</mx:AxisRenderer>
</mx:verticalAxisRenderers>
<mx:horizontalAxis>
<mx:CategoryAxis id="months" categoryField="@month"/>
</mx:horizontalAxis>
<mx:verticalAxis>
<mx:LinearAxis id="countForMonths" />
</mx:verticalAxis>
<mx:series>
<mx:LineSeries
yField="@count"
displayName="Report"
lineStroke="{myreportstroke}"/>
</mx:series>
</mx:LineChart>
{ticks}
{ticks}
我花了好几个小时试图找到一个做类似事情却运气不佳的例子。Flex文档中有几个示例显示了y轴上的多个轴,但x轴上没有 我看到其他人发布了一些其他问题,他们想做类似的事情,但大多数人都没有得到答案,或者答案是查看多轴的文档-我已经做了
我在IBM网站上找到了他们的一个Flex组件。这似乎表明可以按照我想要的方式格式化轴。我只需要有人指引我正确的方向。非常有趣的问题。我会调查的。我的出发点是:谢谢你的回复。我已经快速查看了您提供的链接,它看起来确实很有希望。我暂时把这个问题放在一边,等我有空的时候再仔细看看。你真的解决了这个问题吗?没有,我最终放弃了。我最终使用labelFunction在x轴上格式化标签,即2010年12月、2011年1月、2011年2月等。我非常确定这是可能的,而且我很沮丧,在数小时的搜索之后,我没有找到任何示例。