calayer - Coreplot:更改 CPTBarPlot 中单个元素的 zPosition
问题描述
我有 2 个 CPTBarPlots 的图表,很像 Coreplot Plot Gallery 项目中的 Vertical BarChart 示例。如果它的高度小于来自另一个 CPTBarPlot 的关联元素,我需要将一个具有较小基本宽度的元素放在前面。在数据源功能:
func barFill(for barPlot: CPTBarPlot, record idx: UInt) -> CPTFill?
一个能够增加zPosition
整体barPlot
,但我无法在单个元素的基础上做到这一点。我观察到在方法调用时barPlot
没有任何 CALayer 子层,我有点假设元素可能是。我在哪里可以访问zPosition
CPTBarPlot 的元素?
解决方案
如前所述,每个图都绘制在其自己的层中,按照将图添加到图中的顺序从后到前堆叠。您可以通过使用三个条形图来实现此效果。像往常一样给中间的数据。对于其他图,根据相对于其他图的数据值决定是在前图还是后图中的每个索引处显示条形图。从数据源返回nil
以隐藏另一个绘图的该索引处的栏。
推荐阅读
- java - 给定一个单词,找到字典中最长的单词,该单词可以使用传递的单词组成
- swift-playground - 操场显示奇怪的执行次数
- html - 有人可以告诉我在 html 中使用 (nofollow & noimageindex) 元标记吗?
- javascript - 不知道为什么这个 JS 函数中有这么多 -1
- javascript - 无法让我的 json 文件使用 ajax 输出到 html 元素中
- elasticsearch - 弹性搜索聚合存储桶保持为空
- r - R 中 IML 包中神经网络变量重要性的缺失值
- linux - tinkerboard android - /sys/class/thermal/thermal_zone1/temp:没有这样的文件或目录
- javascript - 使用jQuery和Ajax在href中捕获和发送参数
- css - Background-repeat-x/y 在 Firefox/Safari 中不起作用