我正在使用位于 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/