Reputation: 12033
I have a neat chart that is rendering overlaid columns with values in excess of 6000 but my vertical axis stays at 0-100, as if my dataProvider was being ignored.
The problem here is with "msAxis"
autoAdjust didn't change anything. Do I need to force its values manually?
<mx:ColumnChart xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="100%" height="100%"
dataTipFunction="formatDataTip"
fontSize="12"
showDataTips="true"
initialize="init()"
>
<mx:horizontalAxis>
<mx:CategoryAxis id="haxis"
categoryField.time="t"
categoryField.exchange="x"
title.time="Time"
title.exchange="Exchange"
labelFunction.time="renderTime"
labelFunction.exchange="renderExchange"
/>
</mx:horizontalAxis>
<mx:horizontalAxisRenderers>
<mx:AxisRenderer axis="{haxis}" canDropLabels="true"/>
</mx:horizontalAxisRenderers>
<mx:verticalAxisRenderers>
<mx:AxisRenderer axis="{msAxis}"
placement="left"
canDropLabels="true"/>
<mx:AxisRenderer axis="{oAxis}"
placement="right"
canDropLabels="true"
/>
</mx:verticalAxisRenderers>
<mx:series>
<mx:ColumnSet type="overlaid">
<mx:verticalAxis>
<mx:LinearAxis id="msAxis" autoAdjust="true" />
</mx:verticalAxis>
<mx:series>
<mx:ColumnSeries
xField.time="t" xField.exchange="x"
yField="ml"
fill="{sc_red}"
displayName="Max Latency"
showDataEffect="{interpolateIn}"
/>
<mx:ColumnSeries
xField.time="t" xField.exchange="x"
yField="al"
fill="{sc_blue}"
displayName="Average Latency"
showDataEffect="{interpolateIn}"
/>
</mx:series>
</mx:ColumnSet>
<mx:LineSeries yField="o"
displayName="Orders"
showDataEffect="{interpolateIn}"
>
<mx:verticalAxis>
<mx:LinearAxis id="oAxis" interval="1" />
</mx:verticalAxis>
</mx:LineSeries>
</mx:series>
</mx:ColumnChart>
Upvotes: 1
Views: 1033
Reputation: 4428
I think you should affect your series to their corresponding axis using the verticalAxis property.
Upvotes: 2