CorePlotにて、複数のプロットがのっている場合のプロットの重ね順を指定したときのメモ。
CPTPlotクラスがもっている、zPositionに適切な値を設定することで対応。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
let aPlot: CPTScatterPlot = CPTScatterPlot() aPlot.identifier = PlotIdentifier.a as NSString aPlot.zPosition = ZPosition.plotA aPlot.dataSource = self aPlot.dataLineStyle = aLineStyle graph.add(aPlot, to: plotSpace) let bPlot: CPTScatterPlot = CPTScatterPlot() bPlot.identifier = PlotIdentifier.b as NSString bPlot.zPosition = ZPosition.plotB bPlot.dataSource = self bPlot.dataLineStyle = bLineStyle graph.add(bPlot, to: plotSpace) let cPlot: CPTScatterPlot = CPTScatterPlot() cPlot.identifier = PlotIdentifier.c as NSString cPlot.zPosition = ZPosition.plotC cPlot.dataSource = self cPlot.dataLineStyle = cLineStyle graph.add(cPlot, to: plotSpace) |
各値の部分は、以下のように同じswiftファイル内にstructで定義しています。
1 2 3 4 5 6 7 8 9 10 11 |
fileprivate struct PlotIdentifier { static let a = "PlotA" static let b = "PlotB" static let c = "PlotC" } fileprivate struct ZPosition { static let plotA: CGFloat = 3.0 static let plotB: CGFloat = 2.0 static let plotC: CGFloat = 1.0 } |
コメント