核心图:Y轴标签与条形对齐

时间:2014-01-03 00:40:40

标签: ios cocoa-touch plot core-plot

我正在尝试在下图中执行与(B)类似的操作,即移动y轴标签,使它们位于相关条上方并左对齐。我有图的左侧部分工作(A)(基于本教程的各个部分http://www.gilthonwe.com/2012/06/09/stacked-bar-chart-coreplot-ios/)。 从我有限的核心情节经验,我可以看到3个选项。

i)相对于当前位置移动所有y轴标签,使其左下角成为条形图的左上角。我没有找到任何这样的方法。

ii)更改y轴,使条形延伸到任一侧。更改我的刻度线位置,使它们位于现有柱之间。这似乎是可能的,但很难得到正确的数字(特别是在图中我只是使用数字,但实际上标签可以有任意数量的字符并向左延伸任何距离)。

iii)为每个标签创建CPTTextLayers,并完全删除y轴标签。这似乎是最简单/最干净的解决方案,但我一直无法弄清楚如何将任何文本图层的左下角锚定到栏的左上角。

或者我猜(iv)这在核心情节中是不可能的。

任何想法都非常感激。

Changing y axis label positions

1 个答案:

答案 0 :(得分:2)

至少有两种不同的方法可以做到这一点:

  1. 使用tickLabelDirection将标签移动到轴的另一侧,并使用barOffset或通过修改数据源中的条位置来调整条位置,为标签留出空间。

  2. 为自定义标签创建注释(类似于您的项目iii。)。确定条形边缘的坐标取决于几个因素,包括barWidthbarOffsetbarWidthsAreInViewCoordinates