首页 > 解决方案 > SciChart IOS 固定网格线和刻度标签

问题描述

我正在尝试将 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,不会绘制网格线和刻度标签。

如何获得固定网格线和刻度标签的效果?

标签: iosswiftscichart

解决方案


也许不是最干净的方法,但它在类似的情况下对我有用:在可见范围更改后编辑 MajorDelta/MinorDelta。


推荐阅读