pygmt.surface(x=None, y=None, z=None, data=None, **kwargs)[source]

Grids table data using adjustable tension continuous curvature splines.

Surface reads randomly-spaced (x,y,z) triples and produces gridded values z(x,y) by solving:

(1 - T) * L (L (z)) + T * L (z) = 0

where T is a tension factor between 0 and 1, and L indicates the Laplacian operator.

Takes a matrix, xyz triples, or a file name as input.

Must provide either data or x, y, and z.

Full option list at

x, y, z : 1d arrays

Arrays of x and y coordinates and values z of the data points.

data : str or 2d array

Either a data file name or a 2d numpy array with the tabular data.

spacing (I) :

'xinc[unit][+e|n][/yinc[unit][+e|n]]'. x_inc [and optionally y_inc] is the grid spacing.

region (R) : str or list

'xmin/xmax/ymin/ymax[+r][+uunit]'. Specify the region of interest.

outfile (G) : str

Optional. The file name for the output netcdf file with extension .nc to store the grid in.

- G = outfile
- I = spacing
- R = region
ret: xarray.DataArray or None

Return type depends on whether the outfile (G) parameter is set:

  • xarray.DataArray if outfile (G) is not set
  • None if outfile (G) is set (grid output will be stored in outfile)