clipplot | R Documentation |
Clip plotting to a rectangular region that is a subset of the plotting area
clipplot(fun, xlim = par("usr")[1:2], ylim = par("usr")[3:4])
fun |
The function or expression to do the plotting. |
xlim |
A vector of length 2 representing the x-limits to clip plotting to, defaults to the entire width of the plotting region. |
ylim |
A vector of length 2 representing the y-limits to clip the plot to, defaults to the entire height of the plotting region. |
This function resets the active region for plotting to a rectangle within the plotting area and turns on clipping so that any points, lines, etc. that are outside the rectange are not plotted.
A side effect of this function is a call to the box()
command,
it is called with a fully transparent color so if your graphics device
honors transparency then you will probably see no effect.
Nothing meaningful is returned
This function abuses some of the intent of what par(plt=...) is
supposed to mean. In R2.7.0 and beyond there is a new funcntion
clip
with the intended purpose of doing this in a more proper
manner (however as of my last test it is not working perfectly either,
so clipplot
will remain undepricated for now).
It uses some hacks to make sure that the clipping region is set, but it does this by plotting some tranparent boxes, therefore you should not use this on devices where tranparency is not supported (or you may see extra boxes).
Greg Snow 538280@gmail.com
par
, lines
, clip
in R2.7.0
and later
x <- seq(1,100)
y <- rnorm(100)
plot(x,y, type='b', col='blue')
clipplot( lines(x,y, type='b', col='red'), ylim=c(par('usr')[3],0))
attach(iris)
tmp <- c('red','green','blue')
names(tmp) <- levels(Species)
plot(Petal.Width,Petal.Length, col=tmp[Species])
for(s in levels(Species)){
clipplot( abline(
lm(Petal.Length~Petal.Width, data=iris, subset=Species==s),
col=tmp[s]),
xlim=range(Petal.Width[Species==s]))
}
detach(iris)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.