Plot a Spatial Window
Plot a two-dimensional window of observation for a spatial point pattern
## S3 method for class 'owin' plot(x, main, add=FALSE, ..., box, edge=0.04, type=c("w","n"), show.all=!add, hatch=FALSE, hatchargs=list(), invert=FALSE, do.plot=TRUE, claim.title.space=FALSE, use.polypath=TRUE)
x |
The window to be plotted.
An object of class |
main |
text to be displayed as a title above the plot. |
add |
logical flag: if |
... |
extra arguments controlling the appearance of the plot.
These arguments are passed to |
box |
logical flag; if |
edge |
nonnegative number; the plotting region will have coordinate limits
that are |
type |
Type of plot: either |
show.all |
Logical value indicating whether to plot everything including the main title. |
hatch |
logical flag; if |
hatchargs |
List of arguments passed to |
invert |
logical flag; when the window is a binary pixel mask,
the mask colours will be inverted if |
do.plot |
Logical value indicating whether to actually perform the plot. |
claim.title.space |
Logical value indicating whether extra space for the main title
should be allocated when declaring the plot dimensions.
Should be set to |
use.polypath |
Logical value indicating what graphics capabilities should be used
to draw a polygon filled with colour when the polygon has holes.
If |
This is the plot
method for the class owin
.
The action is to plot the boundary of the window on the current plot device,
using equal scales on the x
and y
axes.
If the window x
is of type "rectangle"
or "polygonal"
,
the boundary of the window is plotted as a polygon or series of polygons.
If x
is of type "mask"
the discrete raster approximation of the window is displayed
as a binary image (white inside the window, black outside).
Graphical parameters controlling the display (e.g. setting the
colours) may be passed directly via the ...
arguments,
or indirectly reset using
spatstat.options
.
If add=FALSE
(the default), the plot is initialised
by calling the base graphics function
plot.default
to create the plot area. By default, coordinate axes
and axis labels are not plotted. To plot coordinate axes,
use the argument axes=TRUE
;
to plot axis labels, use the argument ann=TRUE
and then specify the labels with xlab
and ylab
;
see the help file for plot.default
for
information on these arguments, and for additional
arguments controlling the appearance of the axes.
See the Examples also.
When x
is of type "rectangle"
or "polygonal"
, it
is plotted by the R function polygon
. To control the
appearance (colour, fill density, line density etc) of the polygon
plot, determine the required argument of polygon
and
pass it through ...
For example, to paint the interior of the
polygon in red, use the argument col="red"
. To draw the polygon
edges in green, use border="green"
. To suppress the drawing of
polygon edges, use border=NA
.
When x
is of type "mask"
, it is plotted by
image.default
. The appearance of the image plot
can be controlled by passing arguments to
image.default
through ...
. The default appearance can also be changed
by setting the parameter par.binary
of
spatstat.options
.
To zoom in (to view only a subset of the window at higher
magnification), use the graphical arguments
xlim
and ylim
to specify the desired rectangular field of
view. (The actual field of view may be larger, depending on the
graphics device).
none.
The function polygon
can only handle
polygons without holes. To plot polygons with holes in a solid colour,
we have implemented two workarounds.
The first workaround uses
the relatively new function polypath
which
does have the capability to handle polygons with holes.
However, not all graphics devices support
polypath
.
The older devices xfig
and pictex
do not support polypath
.
On a Windows system, the default graphics device
windows
supports polypath
.
On a Linux system, the default graphics device
X11(type="Xlib")
does not support
polypath
but X11(type="cairo")
does support it.
See X11
and the section on Cairo below.
The other workaround involves decomposing the polygonal window into pieces which do not have holes. This code is experimental but works in all our test cases. If this code fails, a warning will be issued, and the filled colours will not be plotted.
Linux systems support
the graphics device X11(type="cairo")
(see X11
)
provided the external library cairo is installed
on the computer. See www.cairographics.org
for instructions on obtaining and installing cairo. After having
installed cairo one needs to re-install R from source so
that it has cairo capabilites. To check whether your
current installation of R has cairo capabilities, type
(in R) capabilities()["cairo"]
.
The default type for X11
is controlled by
X11.options
.
You may find it convenient to
make cairo the default, e.g. via your .Rprofile
.
The magic incantation to put into .Rprofile
is
setHook(packageEvent("graphics", "onLoad"), function(...) grDevices::X11.options(type="cairo"))
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner r.turner@auckland.ac.nz and Ege Rubak rubak@math.aau.dk.
# rectangular window plot(Window(nztrees)) abline(v=148, lty=2) # polygonal window w <- Window(demopat) plot(w) plot(w, col="red", border="green", lwd=2) plot(w, hatch=TRUE, lwd=2) # binary mask we <- as.mask(w) plot(we) op <- spatstat.options(par.binary=list(col=grey(c(0.5,1)))) plot(we) spatstat.options(op) ## axis annotation plot(letterR, axes=TRUE, ann=TRUE, xlab="Easting", ylab="Northing") plot(letterR, ann=TRUE, xlab="Declination", ylab="Right Ascension")
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.