docs: def generate_megaman_manifold(sampling=2, nfolds=2,
                                rotate=True, random_state=None):
      """Generate a manifold of the megaman data"""
      X, c = generate_megaman_data(sampling)
      for i in range(nfolds):
          X = np.hstack([_make_S_curve(x) for x in X.T])
  
      if rotate:
          rand = check_random_state(random_state)
          R = rand.randn(X.shape[1], X.shape[1])
          U, s, VT = np.linalg.svd(R)
          X = np.dot(X, U)
  
      return X, c