是否可以隐藏弹性图表的轴并且不占用任何空间?

Posted

技术标签:

【中文标题】是否可以隐藏弹性图表的轴并且不占用任何空间?【英文标题】:Is it possible to hide the axis of a flex chart and have it not take up any space? 【发布时间】:2011-01-10 19:42:27 【问题描述】:

是否可以告诉 flex 显示一个没有可见轴的图表?我希望图表的内容占用所有可用空间。我可以将 AxisRenderer 上的可见性设置为 false,这将隐藏轴,但会在轴通常所在的位置留下空白空间。我怎样才能删除这个空白空间?

   <mx:horizontalAxis>
      <mx:DateTimeAxis id="xAxis" dataUnits="hours" />
   </mx:horizontalAxis>
   <mx:horizontalAxisRenderers>
      <mx:AxisRenderer axis="xAxis" visible="false"  />
   </mx:horizontalAxisRenderers>

我尝试在渲染器上设置高度,但没有效果,并且轴本身没有高度样式。

【问题讨论】:

【参考方案1】:

这适用于所有 flex 组件 - visible='false' 使它们从视图中消失。但它们实际上仍然存在,不是被绘制,而是发生。还有一个名为 includeInLayout 的第二个参数,当设置为 false 时,会使它们停止发生。

【讨论】:

这对大多数 UIComponents 来说都是正确的,但在这种情况下它似乎不起作用 - 空白仍然存在。我发现 Clement 的解决方案奏效了。【参考方案2】:

您需要将 AxisRenderer 中每个元素的大小设置为 0。 参考文档试试这个:Setting padding properties

   <mx:horizontalAxisRenderers>
      <mx:AxisRenderer axis="xAxis" 
                       minorTickPlacement="none" 
                       tickPlacement="none" 
                       labelGap="0" 
                       showLabels="false" 
                       showLine="false" />
   </mx:horizontalAxisRenderers>

边框上仍有一个像素,但您可以将填充设置为 -1 作为技巧,目前我找不到更好的东西。

<mx:BarChart dataProvider="data"
             paddingBottom="-1" 
             paddingLeft="-1"
             paddingRight="-1"
             paddingTop="-1">

【讨论】:

以上是关于是否可以隐藏弹性图表的轴并且不占用任何空间?的主要内容,如果未能解决你的问题,请参考以下文章

从 WPF 窗口隐藏图标

隐藏轴和网格线 Highcharts

android能否让一个布局或一个组件完全隐藏并且不占位置

前端使用JS和JQuery显示隐藏标签

如何在不占用空间的情况下使用 CSS 包含隐藏的 DIV?

利用Js/Jquery实现div的隐藏与显示(注意释放与不释放空间)