
Make an inset map or scale the extent of a SpatVector
# S4 method for SpatVector
inset(x, e, loc="", scale=0.2, background="white", border="black", box=NULL, pbx, ...)# S4 method for SpatRaster
inset(x, e, loc="", scale=0.2, background="white", border="black", box=NULL, pbx, ...)
# S4 method for SpatVector
inext(x, e, y=NULL, gap=0)
SpatVector, SpatRaster
SpatExtent to set the size and location of the inset. Or missing
character. One of "bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right", "center"
numeric. The relative size of the inset, used when x is missing
color for the background of the inset. Use NA
for no background color
color for the border around the inset. Use NA
for no border
SpatExtent or missing, to draw a box on the inset
list with graphical arguments for the box
additional arguments passed to plot for the drawing of x
SpatVector. If not NULL, y
is scaled based with the parameters for x
. This is useful, for example, when x
represent boundaries, and y
points within these boundaries
numeric to add space between the SpatVector and the SpatExtent
scaled and shifted SpatVector or SpatRaster (invisibly)
# NOT RUN {
f <- system.file("ex/lux.shp", package="terra")
v <- vect(f)
x <- v[v$NAME_2 == "Diekirch", ]
plot(x, density=10, col="blue")
inset(v)
cols <- rep("light grey", 12)
cols[2] <- "red"
e <- ext(c(6.2, 6.3, 49.9, 50))
b <- ext(x)+0.02
inset(v, e=e, col=cols, box=b)
# with a SpatRaster
ff <- system.file("ex/elev.tif", package="terra")
r <- rast(ff)
r <- crop(r, ext(x) + .01)
plot(r, type="int", mar=c(2,2,2,2), plg=list(x="topright"))
lines(v, lwd=1.5)
lines(x, lwd=2.5)
inset(v, col=cols, loc="topleft", scale=0.15)
# a more complex one
plot(r, plg=list(title="meter\n", shrink=.2, cex=.8))
lines(v, lwd=4, col="white")
lines(v, lwd=1.5)
lines(x, lwd=2.5)
text(x, "NAME_2", cex=1.5, halo=TRUE)
sbar(6, c(6.04, 49.785), type="bar", below="km", label=c(0,3,6), cex=.8)
s <- inset(v, col=cols, box=b, scale=.2, loc="topright", background="light yellow",
pbx=list(lwd=2, lty=5, col="blue"))
# note the returned inset SpatVector
s
# }
Run the code above in your browser using DataLab