我正在使用位于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并不是在考虑扩展的情况下构建的)。
两种简单的解决方案可为您节省大量时间。在看起来不错的地方硬编码标题的位置。我想说,在大多数情况下,轴标签不会经常改变,尽管显然我是在这里做一个假设。我认为最简单的解决方案是...更改设计。您可能需要花费大量时间才能完全获得所需的标题。您需要问自己,从中获得的价值是否值得您付出的努力。
抱歉,我无济于事了。
Ĵ