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.