code: public static PlotCanvas plot(double[] x, double[] y, double[][] z) {
          double[] lowerBound = {Math.min(x), Math.min(y), Math.min(z)};
          double[] upperBound = {Math.max(x), Math.max(y), Math.max(z)};
  
          PlotCanvas canvas = new PlotCanvas(lowerBound, upperBound);
  
          Surface surface = new Surface(x, y, z);
          canvas.add(surface);
  
          return canvas;
      }
docs: Create a plot canvas with the 3D surface plot of given data.
  @param x the x-axis values of surface.
  @param y the y-axis values of surface.
  @param z the z-axis values of surface.