# plgriddata.3plplot - Man Page

Grid data from irregularly sampled data

## Synopsis

**plgriddata**(*x*, *y*, *z*, *npts*, *xg*, *nptsx*, *yg*, *nptsy*, *zg*, *type*, *data*)

## Description

Real world data is frequently irregularly sampled, but PLplot 3D plots require data organized as a grid, i.e., with x sample point values independent of y coordinate and vice versa. This function takes irregularly sampled data from the x[npts], y[npts], and z[npts] vectors; reads the desired grid location from the input vectors xg[nptsx] and yg[nptsy]; and returns the interpolated result on that grid using the output matrix zg[nptsx][nptsy]. The algorithm used to interpolate the data to the grid is specified with the argument type which can have one parameter specified in argument data.

Redacted form: General: **plgriddata(x, y, z, xg, yg, zg, type, data)** Python: *zg*=**plgriddata(x, y, z, xg, yg, type, data)**

This function is used in example 21.

## Arguments

*x*(**PLFLT_VECTOR**(3plplot), input)The input x vector.

*y*(**PLFLT_VECTOR**(3plplot), input)The input y vector.

*z*(**PLFLT_VECTOR**(3plplot), input)The input z vector. Each triple x[i], y[i], z[i] represents one data sample coordinate.

*npts*(**PLINT**(3plplot), input)The number of data samples in the x, y and z vectors.

*xg*(**PLFLT_VECTOR**(3plplot), input)A vector that specifies the grid spacing in the x direction. Usually xg has nptsx equally spaced values from the minimum to the maximum values of the x input vector.

*nptsx*(**PLINT**(3plplot), input)The number of points in the xg vector.

*yg*(**PLFLT_VECTOR**(3plplot), input)A vector that specifies the grid spacing in the y direction. Similar to the xg parameter.

*nptsy*(**PLINT**(3plplot), input)The number of points in the yg vector.

*zg*(**PLFLT_NC_MATRIX**(3plplot), output)The matrix of interpolated results where data lies in the grid specified by xg and yg. Therefore the zg matrix must be dimensioned

*nptsx*by*nptsy*.*type*(**PLINT**(3plplot), input)The type of grid interpolation algorithm to use, which can be: GRID_CSA: Bivariate Cubic Spline approximation GRID_DTLI: Delaunay Triangulation Linear Interpolation GRID_NNI: Natural Neighbors Interpolation GRID_NNIDW: Nearest Neighbors Inverse Distance Weighted GRID_NNLI: Nearest Neighbors Linear Interpolation GRID_NNAIDW: Nearest Neighbors Around Inverse Distance Weighted For details of the algorithms read the source file plgridd.c.

*data*(**PLFLT**(3plplot), input)Some gridding algorithms require extra data, which can be specified through this argument. Currently, for algorithm: GRID_NNIDW, data specifies the number of neighbors to use, the lower the value, the noisier (more local) the approximation is. GRID_NNLI, data specifies what a thin triangle is, in the range [1. .. 2.]. High values enable the usage of very thin triangles for interpolation, possibly resulting in error in the approximation. GRID_NNI, only weights greater than data will be accepted. If 0, all weights will be accepted.

## Authors

Many developers (who are credited at http://plplot.org/credits.php) have contributed to PLplot over its long history.

## See Also

PLplot documentation at http://plplot.org/documentation.php.