0

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

例如:如果用户提供 2 作为“次要刻度数”,则轴的两个刻度之间应该有两个次要刻度。这如何在 Flex 笛卡尔图中完成。

提前致谢。

4

1 回答 1

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>

于 2013-04-11T11:35:06.063 回答