`plgriddata`: Grid data from irregularly sampled data
Prev | Chapter 18. 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 all PLplot 3D plots require data placed in a uniform grid. This function takes irregularly sampled data from three input arrays `x[npts]`, `y[npts]`, and `z[npts]`, reads the desired grid location from input arrays `xg[nptsx]` and `yg[nptsy]`, and returns the gridded data into output array `zg[nptsx][nptsy]`. The algorithm used to grid the data is specified with the argument `type` which can have one parameter specified in argument `data`.

`x` (`const PLFLT *`, input)

  The input `x` array.

`y` (`const PLFLT *`, input)

  The input `y` array.

`z` (`const PLFLT *`, input)

  The input `z` array. 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` arrays.

`xg` (`const PLFLT *`, input)

  The input array 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 array.

`nptsx` (`PLINT`, input)

  The number of points in the `xg` array.

`yg` (`const PLFLT *`, input)

  The input array that specifies the grid spacing in the y direction. Similar to the `xg` parameter.

`nptsy` (`PLINT`, input)

  The number of points in the `yg` array.

`zg` (`PLFLT **`, output)

  The output array, where data lies in the regular grid specified by `xg` and `yg.` the `zg` array must exist or be allocated by the user prior to the call, and must have dimension `zg[nptsx][nptsy]`.

`type` (`PLINT`, input)

  The type of gridding 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)`

- Perl/PDL: Not available?

- 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