4

同じ水平軸を共有するが、グラフの左右で異なる垂直軸を持つ単一の LineChart に 2 つの折れ線シリーズをプロットしています。

<mx:LineChart id="linechart1"   width="100%"  height="100%" showDataTips="true" seriesFilters="[]">

            <mx:horizontalAxis>
                <mx:DateTimeAxis displayLocalTime="true"  dataUnits="seconds"  labelUnits="seconds"/>

            </mx:horizontalAxis>
            <mx:verticalAxisRenderers>
                <mx:AxisRenderer placement="left" axis="{Vaxis1}" />
                <mx:AxisRenderer placement="right" axis="{Vaxis2}"/>
            </mx:verticalAxisRenderers>
            <mx:series>
                <mx:LineSeries  xField="DateTime"  yField="Price1">                                                   
                    <mx:verticalAxis>
                        <mx:LinearAxis baseAtZero="false" id="Vaxis1" autoAdjust="false"/>
                    </mx:verticalAxis>                                          
                </mx:LineSeries>                                        
                <mx:LineSeries id="agentlegend"  xField="DateTime" yField="Price2">

                    <mx:verticalAxis>
                        <mx:LinearAxis id="Vaxis2"  baseAtZero="false" autoAdjust="false"/>
                    </mx:verticalAxis>                                          
                </mx:LineSeries>                                        
            </mx:series>
        </mx:LineChart>

最初の Vaxis では、Price1 は 20 から 25 の間で変化します。2 番目の Vaxis では、Price2 は 20 から 25 の間で変化しますが、値がゼロになることもあります。Price2 が一度ゼロになると、チャート全体が調整されて 2 本の直線になり、価格の変化を詳細に表示することはできません。右 Vaxis 値の価格変化とは無関係に、左 Vaxis のスケーリングが必要です。

両方のグラフの最大値と最小値を個別に設定することで、これを行うことができます。しかし、膨大な量のリアルタイム データが入ってくるので、取得する更新ごとにチャートの最小値と最大値を動的に設定し、それを再描画するのは悪い考えです。

max と min を設定せずにこれを行う方法はありますか? デフォルトでは、flex はhttp://livedocs.adobe.com/flex/3/html/help.html?contentに従って 2 つの Vaxis を個別にスケーリングする機能を提供すると考えました。=charts_types_12.html

ありがとう sanre6

4

0 に答える 0