`plgriddata`: Grid data from irregularly sampled data
Prev | Chapter 17. The Common API for PLplot | Next

#### `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:

- 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.

Prev | Up | Next
`plgradient`: Draw linear gradient inside polygon | Home | `plgspa`: Get current subpage parameters