docs: def limits(self, x1, x2, y1, y2):
          """Set the coordinate boundaries of plot"""
  
          self.x1 = x1
          self.x2 = x2
          self.y1 = y1
          self.y2 = y2
          self.xscale = (self.cx2 - self.cx1) / (self.x2 - self.x1)
          self.yscale = (self.cy2 - self.cy1) / (self.y2 - self.y1)
  
          # Determine the limits of the canvas
          (cx1, cy1) = self.p2c((0, -math.pi / 2.0))
          (cx2, cy2) = self.p2c((2 * math.pi, math.pi / 2.0))
          # # set the scroll region to the size of the camvas plus a boundary to allow the canvas edge to be at centre
          self.config(scrollregion=(
              cx2 - self.width / 2.0, cy2 - self.height / 2.0, cx1 + self.width / 2.0, cy1 + self.height / 2.0))