Apache flex 是否在布局中删除Flex图表AxisRenderer?
我试图在flex中隐藏垂直轴和水平轴渲染器,以便在没有它们的情况下拍摄图表 我已将两个渲染设置为visible=false和includeInLayout=false。它们没有出现,但仍占据空间。我已尝试将宽度/高度设置为0,但这也没有帮助Apache flex 是否在布局中删除Flex图表AxisRenderer?,apache-flex,Apache Flex,我试图在flex中隐藏垂直轴和水平轴渲染器,以便在没有它们的情况下拍摄图表 我已将两个渲染设置为visible=false和includeInLayout=false。它们没有出现,但仍占据空间。我已尝试将宽度/高度设置为0,但这也没有帮助 <mx:horizontalAxisRenderers> <mx:AxisRenderer id="horizontalAxisRenderer" axis="
<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,但这一个仍然可见-我不知道如何使其工作。你有解决办法吗?嘿,就是这样!我猜即使你告诉它不要包含在布局中,它仍然在读取一堆其他值。非常感谢。