plgriddata: Grid data from irregularly sampled data

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

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.

x (PLFLT_VECTOR, input)

The input x vector.

y (PLFLT_VECTOR, input)

The input y vector.

z (PLFLT_VECTOR, input)

The input z vector. Each triple x[i], y[i], z[i] represents one data sample coordinate.

npts (PLINT, input)

The number of data samples in the x, y and z vectors.

xg (PLFLT_VECTOR, 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, input)

The number of points in the xg vector.

yg (PLFLT_VECTOR, input)

A vector that specifies the grid spacing in the y direction. Similar to the xg parameter.

nptsy (PLINT, input)

The number of points in the yg vector.

zg (PLFLT_NC_MATRIX, 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, 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, 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.

Redacted form:

This function is used in example 21.