         context.setStrokeColor(UIColor.black.cgColor)
         let width:Int = Int(rect.maxX)
         let height:Int = Int(rect.maxY)
-        let scale100:Int = Int(100.0 * controller.modelZoom.currentZoom())
-        let scale50:Int = Int(50 * controller.modelZoom.currentZoom())
-        let scale10:Int = Int(10.0 * controller.modelZoom.currentZoom())
-        let scale5:Int = Int(5.0 * controller.modelZoom.currentZoom())
+        let zoomScale:CGFloat = controller.modelZoom.currentZoom()
         
         for positionX:Int in 0 ..< width
         {
-            let compositePositionX:Int = positionX + offsetX
+            let sumPositionX:CGFloat = CGFloat(positionX + offsetX)
+            let sumPositionXZoom:CGFloat = sumPositionX / zoomScale
+            let compositePositionX:Int = Int(round(sumPositionXZoom))
             let lineHeight:Int?
             
-            if compositePositionX % scale100 == 0
+            if compositePositionX % 100 == 0
             {
                 lineHeight = kLineHeightFifties
                 

        backgroundColor = UIColor.clear
        isUserInteractionEnabled = false
        translatesAutoresizingMaskIntoConstraints = false
    }
    
    required init?(coder:NSCoder)

                
                attributedString.draw(in:stringRect)
            }
            else if compositePositionX % 50 == 0
            {
                lineHeight = kLineHeightFifties
            }
            else if compositePositionX % 10 == 0
            {
                lineHeight = kLineHeightTens
            }
            else if compositePositionX % 5 == 0
            {
                lineHeight = kLineHeightFives
            }
