MonoThreaded
MonoThreaded

Reputation: 12033

Flex overlaid ColumnSet vertical axis not updating in ColumnChart

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

Answers (1)

LoremIpsum
LoremIpsum

Reputation: 4428

I think you should affect your series to their corresponding axis using the verticalAxis property.

Upvotes: 2

Related Questions