
Calculate x and y co-ordinates that can be used to position an inset in a plot frame at a specified keyword location.
GetInsetLocation(dx, dy, loc = "bottomright", inset = 0, pad = 0, padin = 0)
'numeric' number. Width and height of the inset, respectively.
'character' string.
Single keyword used to specify the position of the inset in the main plot region:
"bottomright"
, "bottom"
, "bottomleft"
, "left"
,
"topleft"
, "top"
, "topright"
, "right"
,
or "center"
to denote inset location.
'numeric' vector of length 1 or 2, value is recycled as necessary. Inset distance from the margins as a fraction of the main plot region.
'numeric' vector of length 1 or 2, value is recycled as necessary. Padding distance from the margins in user coordinate units.
'numeric' vector of length 1 or 2, value is recycled as necessary. Padding distance from the margins in inches.
A 'numeric' vector of length 2 giving the user coordinates for the bottom-left corner of the inset.
# NOT RUN {
plot(NA, NA, xlim = c(0, 100), ylim = c(0, 1),
xlab = "x", ylab = "y", xaxs = "i", yaxs = "i")
dx <- 20; dy <- 0.2
xy <- GetInsetLocation(dx, dy, loc = "bottomleft")
rect(xy[1], xy[2], xy[1] + dx, xy[2] + dy, border = "red")
points(xy[1], xy[2], pch = 16, xpd = TRUE)
print(xy)
xy <- GetInsetLocation(dx, dy, loc = "bottomleft", inset = 0.05)
rect(xy[1], xy[2], xy[1] + dx, xy[2] + dy, border = "pink")
points(xy[1], xy[2], pch = 16)
print(xy)
xy <- GetInsetLocation(dx, dy, loc = "topright", padin = 0.5)
rect(xy[1], xy[2], xy[1] + dx, xy[2] + dy, border = "blue")
xy <- GetInsetLocation(dx, dy, loc = "left", pad = c(5, 0))
rect(xy[1], xy[2], xy[1] + dx, xy[2] + dy, border = "green")
xy <- GetInsetLocation(dx, dy, loc = "center")
rect(xy[1], xy[2], xy[1] + dx, xy[2] + dy, border = "brown")
# }
Run the code above in your browser using DataLab