我正在尝试将 X 方向网格线和刻度标签固定在可见范围的中间,无论图表是缩放还是平移。
我曾尝试为我的 xAxis 创建自定义 TickProvider:
class CustomTickProvider: SCIDateTimeTickProvider {
private var tickCount: Int
init(tickCount: Int) {
self.tickCount = tickCount
}
override func getMajorTicks(fromAxis axis: SCIAxisCoreProtocol!) -> SCIArrayController! {
let visibleRange = axis.visibleRange
let min = visibleRange?.min.doubleData
let max = visibleRange?.max.doubleData
let array: SCIArrayController = SCIArrayController.init(type: SCIDataType.double)
let step = (max! - min!) / Double(self.tickCount - 1)
var current = min!
while current <= max! {
array.append(SCIGeneric(current))
current += step
}
return array
}
}
xAxis.tickProvider = CustomTickProvider.init(tickCount: 3)
当我设置xAxis.autoTicks = true
时,网格线和刻度标签将被重新定位,它们也不能保持在同一位置。
当我设置时xAxis.autoTicks = false
,不会绘制网格线和刻度标签。
如何获得固定网格线和刻度标签的效果?