我试图在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>
答案 0 :(得分:4)
类似的问题was asked here,在this answer的基础上,我找到了成功。尝试以下内容,如果需要,可以从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>
我仍然需要保持渲染器和轴之间的绑定。没有它,应用程序似乎根本不想加载。
答案 1 :(得分:1)
如果您想要删除/隐藏轴,为什么要将所有绑定的信息输入?
<mx:AxisRenderer visible="false" includeInLayout="false" />
应该这样做。
答案 2 :(得分:1)
要动态添加轴渲染器,您应该这样做。
var tp:Array = barChart.verticalAxisRenderers;
axisRenderer = new AxisRenderer();
axisRenderer.axis = v2Axis;
axisRenderer.placement = "right";
tp.push(axisRenderer);
barChart.verticalAxisRenderers = tp;
这里v2Axis是我们添加此渲染器的verticalAxis。图表左侧已有垂直轴。我们刚刚在右侧添加了一个垂直轴。
如果要隐藏轴渲染器,请执行此操作
var tp:Array = barChart.verticalAxisRenderers;
axisRenderer.includeInLayout =false;
axisRenderer.visible = false;
tp = null;
barChart.verticalAxisRenderers = tp;
这里barChart是图表的id。它会起作用。
答案 3 :(得分:0)
尝试将左,右,顶部,底部排水沟设置为较小的值。这些确定了与AxisRenderes放在一起的间隙的尺寸。图表默认自动计算这些。情况可能是在计算排水沟时没有考虑visible和includeInLayout属性。有关这些工作的详细信息,请参阅computedGutters and dataRegion。