Fondamentalement, j'avoir une carte de ligne Flex et l'axe x ressemble à ceci:Comment afficher les mois regroupés par années sur l'axe horizontal pour un graphique à courbes flexibles?
---|--------|--------|--------|--------|--------|--------|---
November December January February March April May
Ceci est bien, mais je veux aussi montrer l'année que les mois appartiennent, comme celui-ci:
---|--------|--------|--------|--------|--------|--------|---
November December January February March April May
2010 | 2011
Mon dataprovider est un document XML qui ressemble à ceci:
<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>
Et voici ce que j'ai pour le contrôle de 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>
J'ai passé des heures à essayer de trouver un exemple qui fait quelque chose de similaire avec pas de chance. La documentation Flex présente plusieurs exemples montrant plusieurs axes sur l'axe des y mais aucun pour l'axe des x.
J'ai vu plusieurs autres questions postées par d'autres personnes qui veulent faire quelque chose de similaire mais la plupart d'entre eux n'ont jamais eu de réponse ou la réponse était la documentation pour plusieurs axes - que j'ai déjà fait.
J'ai trouvé this sur le site IBM pour l'un de leurs composants Flex. Cela semble indiquer qu'il est possible de formater l'axe comme je le souhaite. J'ai juste besoin de quelqu'un pour me diriger dans la bonne direction.
Avez-vous réellement résolu ce problème? – zinovii
Non, j'ai finalement abandonné. J'ai fini par utiliser labelFunction pour formater les étiquettes sur l'axe des x, c'est-à-dire décembre 2010, janvier 2011, février 2011, etc. Je suis certain que c'est possible et frustré qu'après des heures et des heures de recherche je n'ai pas été capable de trouver des exemples. –