code: def make_line_segments(x, y, ispath=True):
      
      if ispath:
          x = interleave(x[:-1], x[1:])
          y = interleave(y[:-1], y[1:])
      elif len(x) % 2:
          raise PlotnineError("Expects an even number of points")
  
      n = len(x) // 2
      segments = np.reshape(list(zip(x, y)), [n, 2, 2])
      return segments
docs: Return an (n x 2 x 2) array of n line segments
  
      Parameters
      ----------
      x : array-like
          x points
      y : array-like
          y points
      ispath : bool
          If True, the points represent a path from one point
          to the next until the last. If False, then each pair
          of successive(even-odd pair) points yields a line.