apache-flex - Flex Chart 上轴标签的位置,以及如何相对于它们定位事物

标签 apache-flex actionscript flex-charting

我正在使用位于 BarChart 右侧的 AxisRenderer,并且正在寻找一种方法来将 AxisRenderer 中的值的标题放置在它们上方。

如何找到轴渲染器中标签的位置?似乎 AxisRenderer.width 返回图表的宽度,AxisRenderer.x 返回整个图表的边缘。

这是一张图片的尝试:

                                Title
xxxxxxxxxxxxxxxxxxxxx   
xxxxxxxxxxxxxxxxxxxxx           axis value
xxxxxxxxxxxxxxxxxxxxx   

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  axis value
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  

xxxxxxxxx   
xxxxxxxxx                       axis value
xxxxxxxxx   

我试图将标题定位在 AxisRenderer 定位的“轴值”之上。基本上,对于非绝对定位的轴,您如何确定它的位置?

最佳答案

我已经深入研究了这个问题,我可能得出了与您相同的结论 - 没有简单的方法可以做到这一点。以我的经验,AxisRenderer 的底层非常复杂(并且不是以一种特别容易理解的方式编写的)。

然而,要实现您想要实现的目标,您可以创建自己的 IAxisRenderer 来准确构造您想要的(这是一场噩梦……我已经做到了,这很痛苦)。您还可以尝试扩展 AxisRenderer 并尝试覆盖将其定位在内置 titleRenderer 中的特定方法(这同样不是特别容易或干净,因为在我看来 AxisRenderer 并未在构建时考虑到扩展)。

两个简单的解决方案将为您节省大量时间。在看起来不错的地方硬编码标题的位置。我会说在大多数情况下,轴标签不会经常更改,尽管显然我在那里做了一个假设。在我看来,最简单的解决方案……改变设计。您可能需要花费相当多的时间才能完全按照您的意愿获得标题。您需要问问自己,从中获得的值(value)是否值得您付出的努力。

抱歉,我不能再提供任何帮助。

J

关于apache-flex - Flex Chart 上轴标签的位置,以及如何相对于它们定位事物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1110083/

相关文章:

apache-flex - 生成 ASDoc 的问题

javascript - ExternalInterface.call 有效,但 javascript 无法访问 actionscript 回调?

apache-flex - 在 Flex 柱形图的顶部绘制一条虚线

java - 如何在 Flex/BlazeDS 中同时支持 HTTP 和 HTTPS channel ?

multithreading - AS3使用工作线程调用另一个swf文件中的方法

apache-flex - 有人可以用几句话解释这些技术如何关联 : Flex, Flash、Air、ActionScript、SWF、FLV

actionscript-3 - 如果 ActionScript 基于 ECMAScript,为什么它有类并且看起来和 Java 几乎一样?

apache-flex - 我应该使用PurePDF还是AlivePdf

xml - 使用 e4x 语法删除特定节点