Apache flex 是否在布局中删除Flex图表AxisRenderer?

Apache flex 是否在布局中删除Flex图表AxisRenderer?,apache-flex,Apache Flex,我试图在flex中隐藏垂直轴和水平轴渲染器,以便在没有它们的情况下拍摄图表 我已将两个渲染设置为visible=false和includeInLayout=false。它们没有出现,但仍占据空间。我已尝试将宽度/高度设置为0,但这也没有帮助 <mx:horizontalAxisRenderers> <mx:AxisRenderer id="horizontalAxisRenderer" axis="

我试图在flex中隐藏垂直轴和水平轴渲染器,以便在没有它们的情况下拍摄图表

我已将两个渲染设置为visible=false和includeInLayout=false。它们没有出现,但仍占据空间。我已尝试将宽度/高度设置为0,但这也没有帮助

        <mx:horizontalAxisRenderers>
        <mx:AxisRenderer
            id="horizontalAxisRenderer"
            axis="{dtAxis}"
            axisStroke="{axis}" 
            placement="bottom"
            minorTickPlacement="outside" 
            minorTickLength="10" 
            tickLength="12" 
            tickPlacement="outside"
            color="0x707275"
            styleName="axisStyle"
            visible="false"
            includeInLayout="false"
            >
            <mx:tickStroke>{ticks}</mx:tickStroke>
            <mx:minorTickStroke>{mticks}</mx:minorTickStroke>
        </mx:AxisRenderer>
    </mx:horizontalAxisRenderers>

    <mx:verticalAxisRenderers>
        <mx:AxisRenderer
            id="verticalAxisRenderer"
            axis="{laMain}"
            axisStroke="{axis}" 
            placement="bottom"
            minorTickPlacement="outside" 
            minorTickLength="10" 
            tickLength="12" 
            tickPlacement="outside"
            fontSize="15"
            color="0x707275"
            labelGap="0"
            styleName="axisStyle"
            visible="false"
            includeInLayout="false"
            >
            <mx:tickStroke>{ticks}</mx:tickStroke>
            <mx:minorTickStroke>{mticks}</mx:minorTickStroke>
        </mx:AxisRenderer>
    </mx:verticalAxisRenderers>

{ticks}
{mticks}
{ticks}
{mticks}

如果要删除/隐藏轴,为什么要输入所有绑定信息

<mx:AxisRenderer visible="false" includeInLayout="false" /> 


应该这样做。

尝试将左侧、右侧、顶部和底部排水沟设置为较小的值。这些将确定放置AxisRenders时间隙的尺寸。默认情况下,图表会自动计算这些值。在计算排水沟时,可能未考虑可见和包含的布局特性。请参阅,以了解有关这些工作的更多详细信息。

一个类似的问题,在此基础上,我得以获得成功。尝试以下方法,根据需要将轴类型从LinearAxis调整为可能使用的类型:

  <mx:horizontalAxis>
    <mx:LinearAxis id="myXAxis" />
  </mx:horizontalAxis>
  <mx:horizontalAxisRenderers>
    <mx:AxisRenderer axis="{myXAxis}"
                     minorTickPlacement="none"
                     tickPlacement="none"
                     labelGap="0"
                     showLabels="false" showLine="false"
                     visible="false" includeInLayout="false" />
  </mx:horizontalAxisRenderers>


我仍然需要保持渲染器和轴之间的绑定。如果没有它,应用程序似乎根本不想加载。

要动态添加axis渲染器,您应该这样做

var tp:Array = barChart.verticalAxisRenderers;
axisRenderer = new AxisRenderer();
axisRenderer.axis = v2Axis;
axisRenderer.placement = "right";
tp.push(axisRenderer);
barChart.verticalAxisRenderers = tp;    
这里v2Axis是垂直轴,我们将为其添加此渲染器。图表的左侧已经有垂直轴。我们刚刚在右侧又添加了一个垂直轴

如果要隐藏轴渲染器,请执行此操作

var tp:Array = barChart.verticalAxisRenderers;
axisRenderer.includeInLayout =false;
axisRenderer.visible = false;
tp = null;
barChart.verticalAxisRenderers = tp;

这里条形图是图表的id。它会起作用。

这与我发布的代码相同。它仍然包含在布局中。不,它不是相同的代码。你有很多额外的属性被添加。单独尝试一下,看看它是否有效。它不适用于我,渲染器需要一个axis对象:“错误:未为此AxisRenderer设置属性axis”。我有同样的问题-我无法从视图中删除默认VerticalAxisRenderer。我隐藏了许多动态(as3)axisRenderer,但这一个仍然可见-我不知道如何使其工作。你有解决办法吗?嘿,就是这样!我猜即使你告诉它不要包含在布局中,它仍然在读取一堆其他值。非常感谢。