基本上我有一个 Flex 折线图,x 轴看起来像这样:
---|--------|--------|--------|--------|--------|--------|---
November December January February March April May
这很好,但我也想显示月份所属的年份,如下所示:
---|--------|--------|--------|--------|--------|--------|---
November December January February March April May
2010 | 2011
我的 dataprovider 是一个 xml 文档,如下所示:
<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>
这就是我为 LineChart 控件所拥有的:
<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>
我花了几个小时试图找到一个做类似事情但没有运气的例子。Flex 文档有几个示例在 y 轴上显示多个轴,但在 x 轴上没有。
我已经看到其他人发布的其他几个问题,他们想做类似的事情,但他们中的大多数人从未得到答案,或者答案是查看多个轴的文档 - 我已经完成了。
我在 IBM 网站上找到了他们的 Flex 组件之一。这似乎表明可以按照我想要的方式格式化轴。我只需要有人引导我朝着正确的方向前进。