gridOMI: Set Base Plotting Regions from Grid Viewport

Description Usage Details Value Warning Author(s) See Also Examples

View source: R/grid.R

Description

These functions can be used to align base plotting regions with the current grid viewport. This can be used to draw base plots within a grid viewport.

Usage

1
2
3
4

Details

For this to be useful, you will have to make liberal use of par(new=TRUE) to prevent base from moving to a new page.

With care, these can even be used to draw multiple base plots within a grid viewport (see the examples below), but in general, base plotting functions that draw multiple panels (e.g., coplot) should not be expected to work.

Value

gridOMI returns a value that can be used to set the par(omi) parameter.

gridFIG returns a value that can be used to set the par(fig) parameter.

gridPLT returns a value that can be used to set the par(plt) parameter.

gridPAR returns a value that can be used to set some graphical parameters (currently, lwd, lty, and col).

Warning

If you resize the device, all bets are off!

Author(s)

Paul Murrell

See Also

Grid, viewport

Examples

 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
library(grid)
opar <- par(no.readonly=TRUE)
# gridFIG
grid.newpage()
pushViewport(viewport(width=0.5, height=0.5))
grid.rect(gp=gpar(col="grey", lty="dashed"))
par(fig=gridFIG())
par(new=TRUE)
plot(1:10)
# multiple plots
# NOTE the use of par(mfg)
# gridOMI
par(opar)
grid.newpage()
pushViewport(viewport(width=0.5, height=0.5))
grid.rect(gp=gpar(col="grey", lty="dashed"))
par(omi=gridOMI())
par(mfrow=c(2, 2), mfg=c(1, 1), mar=c(3, 3, 1, 0))
for (i in 1:4) {
  plot(i)
}
# gridPLT
par(opar)
grid.newpage()
pushViewport(viewport(width=0.5, height=0.5))
grid.rect(gp=gpar(col="grey", lwd=5))
par(plt=gridPLT())
par(new=TRUE)
plot(1:10)
# gridFIG with par(omi) set
par(opar)
grid.newpage()
par(omi=rep(1, 4))
pushViewport(viewport(width=0.5, height=0.5))
grid.rect(gp=gpar(col="grey", lwd=5))
par(fig=gridFIG())
par(new=TRUE)
plot(1:10)
# gridPLT with par(omi) set
par(opar)
grid.newpage()
par(omi=rep(1, 4))
pushViewport(viewport(width=0.5, height=0.5))
grid.rect(gp=gpar(col="grey", lwd=5))
par(plt=gridPLT())
par(new=TRUE)
plot(1:10)
# gridPAR
par(opar)
grid.newpage()
pushViewport(viewport(width=0.5, height=0.5,
  gp=gpar(col="red", lwd=3, lty="dotted")))
grid.rect(gp=gpar(col="grey", lwd=5))
par(fig=gridFIG())
par(gridPAR())
par(new=TRUE)
plot(1:10, type="b")

Example output

Warning message:
In par(new = TRUE) : calling par(new=TRUE) with no plot

gridBase documentation built on May 1, 2019, 10:49 p.m.