Диаграммы во Flex
Доброго времени суток, господа.
Уже несколько дней безрезультатно бьюсь над одной проблемой с диаграммами на Флексе. Возможно кто-то сталкивался с таким и может помочь.
Мне нужно сделать несколько осей с разными точками и их подписями, причем метки на оси должны совпадать с точками по которым строится график. То есть, как есть сейчас:
http://imagesbase.com/upload/view/sc...bcdfhty138.png
То есть, подписи на осях стоят на одинаковых позициях, которые определяются просто минимумом и максимумом по оси и расстояниям между подписями.
А я хочу получить что-то похожее на это:
http://imagesbase.com/upload/view/sc...chkpqrvwx8.png
То есть, несколько осей под графиком с произвольным расположением меток на осях и произвольными надписями.
Я пытался копать в сторону labelRenderer в axisRenderer, но там я могу только изменить содержимое подписи, но не ее позицию.
Возможно как-то можно вручную добавлять на ось точки с подписями или что-то подобное...
P.S. Flex 4, AS3.
Код:
Код:
<mx:ColumnChart id="chart" width="100%" height="100%" showDataTips="true" dataTipFunction="dataTipFunc" seriesFilters="[]" >
<mx:backgroundElements>
<mx:GridLines visible="false" id="gridLines">
<mx:horizontalStroke>
<mx:SolidColorStroke color="black" weight="0" alpha="0.3" />
</mx:horizontalStroke>
</mx:GridLines>
</mx:backgroundElements>
<mx:verticalAxis>
<mx:LinearAxis id="vertAx" title="Высота, м" maximum="{1.3*maxProfHeight}" minimum="0"/>
</mx:verticalAxis>
<mx:horizontalAxis>
<mx:LinearAxis id="horAx" title="Расстояние, м" />
</mx:horizontalAxis>
<mx:verticalAxisRenderers>
<mx:AxisRenderer id="vertAxRend" axis="{vertAx}" verticalAxisTitleAlignment="vertical">
<mx:axisStroke>
<mx:SolidColorStroke color="#bbccdd" weight="2" alpha="1" caps="square" />
</mx:axisStroke>
</mx:AxisRenderer>
</mx:verticalAxisRenderers>
<mx:horizontalAxisRenderers>
<mx:AxisRenderer id="horSecRend" axis="{horAx}" placement="bottom">
<mx:titleRenderer>
<mx:Component>
<mx:Label text="Отметка верха"/>
</mx:Component>
</mx:titleRenderer>
</mx:AxisRenderer>
<mx:AxisRenderer id="horAxRend" axis="{horAx}" placement="bottom" >
<mx:axisStroke>
<mx:SolidColorStroke color="#bbccdd" weight="2" alpha="1" caps="square" />
</mx:axisStroke>
</mx:AxisRenderer>
</mx:horizontalAxisRenderers>
<mx:series>
<mx:ColumnSeries id="topSeries" filterData="false" labelField="label" itemRenderer="decorators.CustomItemRenderer" xField="km" yField="height" dataProvider="{topObjDataCollection}" />
<local:CustomAreaSeries id="areaSeries" filterData="false" labelField="label" pointsField="points" areaRenderer="decorators.CustomAreaRenderer" itemRenderer="decorators.CustomItemAreaRenderer" xField="start" yField="height" dataProvider="{topObjDblDataCollection}" />
<mx:LineSeries id="pipeSeries" xField="km" yField="height" filterData="false" dataProvider="{pipeDataCollection}">
<mx:lineStroke>
<mx:SolidColorStroke color="0x333333" weight="2" alpha=".8" />
</mx:lineStroke>
</mx:LineSeries>
<mx:LineSeries id="groundSeries" xField="km" yField="height" filterData="false" dataProvider="{groundDataCollection}">
<mx:lineStroke>
<mx:SolidColorStroke color="0x845c22" weight="2" alpha=".8" />
</mx:lineStroke>
</mx:LineSeries>
</mx:series>
<mx:annotationElements>
</mx:annotationElements>
</mx:ColumnChart>
|