Description Usage Arguments Details Author(s) See Also Examples

Creates an image using polygon filling based on a grid of irregular quadrilaterals. This function is useful for a regular grid that has been transformed to another nonlinear or rotated coordinate system. This situation comes up in lon-lat grids created under different map projections. Unlike the usual image format this function requires the grid to be specified as two matrices x and y that given the grid x and y coordinates explicitly for every grid point.

1 2 3 4 5 | ```
poly.image(x, y, z, col = tim.colors(64), breaks, transparent.color = "white",
midpoint = FALSE, zlim = range(z, na.rm = TRUE),
xlim = range(x), ylim = range(y), add = FALSE, border=NA,lwd.poly=1,...)
poly.image.regrid(x)
``` |

`x` |
A matrix of the x locations of the grid. |

`y` |
A matrix of the y locations of the grid. |

`z` |
Values for each grid cell. Can either be the value at the grid points or interpreted as the midpoint of the grid cell. |

`col` |
Color scale for plotting. |

`breaks` |
Numerical breaks to match to the colors. If missing breaks are
equally spaced on the range |

`transparent.color` |
Color to plot cells that are outside the range specified in the function call. |

`midpoint` |
Only relevant if the dimensions of x,y, and z are the same. If TRUE the z values will be averaged and then used as the cell midpoints. If FALSE the x/y grid will be expanded and shifted to represent grid cells corners. (See poly.image.regrid.) |

`zlim` |
Plotting limits for z. |

`xlim` |
Plotting limits for x. |

`ylim` |
Plotting limits for y. |

`add` |
If TRUE will add image onto current plot. |

`border` |
Color of the edges of the quadrilaterals, the default is no color. |

`lwd.poly` |
Line width for the mesh surface. i.e. the outlines of the quadrilateral facets. This might have to be set smaller than one if rounded corners on the facets are visible. |

`...` |
If add is FALSE, additional graphical arguments that will be supplied to the plot function. |

This function is straightforward except in the case when the dimensions of x,y, and z are equal. In this case the relationship of the values to the grid cells is ambigious and the switch midpoint gives two possible solutions. The z values at 4 neighboring grid cells can be averaged to estimate a new value interpreted to be at the center of the grid. This is done when midpoint is TRUE. Alternatively the full set of z values can be retained by redefining the grid. This is accomplisehd by finding the midpoints of x and y grid points and adding two outside rows and cols to complete the grid. The new result is a new grid that is is (M+1)X (N+1) if z is MXN. These new grid points define cells that contain each of the original grid points as their midpoints. Of course the advantage of this alternative is that the values of z are preserved in the image plot; a feature that may be important for some uses.

The function image.plot uses this function internally when image information is passed in this format and can add a legend. In most cases just use image.plot.

The function `poly.image.regrid`

does a simple averaging and
extrapolation of the grid locations to shift from midpoints to
corners. In the interior grid corners are found by the average of the
4 closest midpoints. For the edges the corners are just extrapolated
based on the separation of nieghboring grid cells.

Doug Nychka

image.plot

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ```
data(RCMexample)
set.panel( 1,2)
par(pty="s")
# plot with grid modified
poly.image( RCMexample$x, RCMexample$y, RCMexample$z[,,1])
# use midpoints of z
poly.image( RCMexample$x, RCMexample$y, RCMexample$z[,,1],midpoint=TRUE)
set.panel()
# an example with quantile breaks
brk<- quantile( RCMexample$z[,,1], c( 0, .9,.95,.99,1.0) )
poly.image( RCMexample$x, RCMexample$y, RCMexample$z[,,1], breaks=brk, col=
rainbow(4))
# images are very similar.
set.panel()
# Regridding of x and y
l1<- poly.image.regrid( RCMexample$x)
l2<- poly.image.regrid( RCMexample$y)
# test that this works
i<- 1:10
plot( l1[i,i], l2[i,i])
points( RCMexample$x[i,i], RCMexample$y[i,i],col="red")
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.