Learn R Programming

terra (version 1.6-47)

sbar: scale bar

Description

Add a scale bar to a map

Usage

sbar(d, xy=NULL, type="line", divs=2, below="", 
    lonlat=NULL, label, adj=c(0.5, -1), lwd=2, xpd=TRUE, ...)

Value

none

Arguments

d

numeric. Distance covered by the scale bar. For the scale bar, it should be in the units of the coordinates of the plot (map), and in km for angular (longitude/latitude) data; see argument lonlat. It can also be missing

xy

numeric. x and y coordinate to place the scale bar. It can also be one of following character values: "bottomleft", "bottom", "bottomright", topleft", "top", "topright", "left", "right", or NULL

type

for sbar: "line" or "bar"

divs

number of divisions for a bar: 2 or 4

below

character. Text to go below the scale bar (e.g., "kilometers")

lonlat

logical or NULL. If logical, TRUE indicates if the plot is using longitude/latitude coordinates. If NULL this is guessed from the plot's coordinates

label

vector of three numbers to label the scale bar (beginning, midpoint, end)

adj

adjustment for text placement

lwd

line width for the "line" type of the scale bar

xpd

logical. If TRUE, the scale bar can be outside the plotting area

...

graphical arguments to be passed to other methods

See Also

north, plot, inset

Examples

Run this code
f <- system.file("ex/meuse.tif", package="terra")
r <- rast(f)
plot(r)
sbar()
sbar(1000, xy=c(178500, 333500), type="bar", divs=4, cex=.8)
sbar(1000, xy="bottomright", divs=4, cex=.8)
north(d=250, c(178550, 332500))


f <- system.file("ex/elev.tif", package="terra")
r <- rast(f)
plot(r, type="interval")
sbar(20, c(6.2, 50.1), type="bar", cex=.8, divs=4)
sbar(15, c(6.3, 50), type="bar", below="km", label=c(0,7.5,15), cex=.8)
sbar(15, c(6.65, 49.8), cex=.8, label=c(0,"km",15))
north(type=2)
sbar(15, c(6.65, 49.7), cex=.8, label="15 kilometer", lwd=5)
sbar(15, c(6.65, 49.6), divs=4, cex=.8, below="km")

Run the code above in your browser using DataLab