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

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

这是一张图片的尝试:

                                Title
xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx           axis value
xxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  axis value
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxx
xxxxxxxxx                       axis value
xxxxxxxxx

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

最佳答案

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

但是,要实现您想要的目标,您可以创建自己的IAxisRenderer来构造您想要的目标(这是一场噩梦……我已经做了,而且很痛苦)。您还可以尝试扩展AxisRenderer并尝试覆盖将其放置在内置titleRenderer中的特定方法(同样,这并不是特别简单或干净,因为我认为AxisRenderer并不是在考虑扩展的情况下构建的)。

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

抱歉,我无济于事了。

Ĵ

08-19 00:43