我有带有2个CPTBarPlots的图形,非常类似于Coreplot Plot Gallery项目中的Vertical BarChart示例。如果某个元素的高度小于另一个CPTBarPlot中关联的元素的高度,则需要将其基础宽度较小的元素放在前面。在数据源功能处:func barFill(for barPlot: CPTBarPlot, record idx: UInt) -> CPTFill?
一个人可以为整个zPosition
增加barPlot
,但是我无法在单个元素的基础上做到这一点。我观察到在方法调用时barPlot
没有任何CALayer子层,我有点假设这些元素可能在其中。我在哪里可以访问CPTBarPlot的元素zPosition
?
如前所述,每个图都按其添加到图形中的顺序绘制在其自己的图层中,这些图层从前到后堆叠。您可以通过使用三个条形图来实现此效果。照常给中间一个数据。对于其他图,请根据相对于其他图的数据值,决定在前图还是后图的每个索引处显示条形图。从数据源返回nil
,以隐藏该图在其他图上的索引。