如何在Flex中的图表中的主要刻度轴之间插入指定数量的次刻度?

时间:2013-04-11 10:28:25

标签: flex charts

我需要根据用户输入在柱形图的垂直轴的两个刻度之间绘制特定数量的次刻度。

例如:如果用户提供2作为'次要刻度数',则在两个刻度轴之间应该有两个小刻度。如何在Flex Cartesian Chart中完成。

提前致谢。

1 个答案:

答案 0 :(得分:1)

首先,在这种情况下,你应该使用LinearAxis作为你的轴。

LinearAxis包含intervalminorInterval属性。 如果您想在主要刻度之间看到 N 次要刻度,请执行

axis.minorInterval = axis.interval / (N+1)

小心:总是绘制小蜱,所以如果你想让它们在主要蜱上不可见,你应该选择好的卒中和位置。

以下是主要刻度之间有3个小刻度的示例图表(对不起,做了横轴...但我想这对你来说并不重要):

                   >
<fx:Declarations>       

</fx:Declarations>
<fx:Script>
    <![CDATA[
        import mx.collections.ArrayCollection;
        import mx.events.ResizeEvent;

        [Bindable]
        public var arr:ArrayCollection = new ArrayCollection([{x:10, y:2},
            {x:1, y:2},
            {x:2, y:2},
            {x:3, y:3},
            {x:4, y:2},
            {x:5, y:2},
            {x:6, y:2}
            ]
        );
    ]]>
</fx:Script>
<mx:LineChart dataProvider="{arr}" width="100%" height="100%">
    <mx:horizontalAxis>
        <mx:LinearAxis 
            id="a"
            interval="4" 
            minorInterval="1"
            maximumLabelPrecision="4"                       
            />
    </mx:horizontalAxis>
    <mx:horizontalAxisRenderers>
        <mx:AxisRenderer id="ax" axis="{a}" minorTickLength="5" tickLength="10"
                         minorTickPlacement="outside"                            
                         tickPlacement="outside"                             
                         >
            <mx:minorTickStroke>
                <s:SolidColorStroke />
            </mx:minorTickStroke>   
        </mx:AxisRenderer>
    </mx:horizontalAxisRenderers>
    <mx:series>
        <mx:LineSeries yField="y" xField="x" >              
        </mx:LineSeries>
    </mx:series>
</mx:LineChart>