R: Add a Scalebar to a Map

mapScalebar {oce} | R Documentation

## Add a Scalebar to a Map

### Description

Draw a scalebar on a map created by `mapPlot()` or otherwise.

### Usage

    mapScalebar(
      x,
      y = NULL,
      length,
      lwd = 1.5 * par("lwd"),
      cex = par("cex"),
      col = "black"
    )

### Arguments

`x, y` | position of the scalebar. Eventually this may be similar to the corresponding arguments in `legend()`, but at the moment `y` must be `NULL` and `x` must be `"topleft"` or `"topright"`.
`length` | the distance to indicate, in kilometres. If not provided, a reasonable choice is made, based on the existing plot.
`lwd` | line width of the scalebar.
`cex` | character expansion factor for the scalebar text.
`col` | color of the scalebar.

### Details

The scale is appropriate to the centre of the plot, and will become increasingly inaccurate away from that spot, with the error depending on the projection and the fraction of the earth that is shown.

Until December 2020, it was required that the map had been drawn by `mapPlot()`, but now it can be any diagram showing longitude and latitude in degrees.

### Author(s)

Dan Kelley

### See Also

A map must first have been created with `mapPlot()`.

Other functions related to maps: `formatPosition()`, `lonlat2map()`, `lonlat2utm()`, `map2lonlat()`, `mapArrows()`, `mapAxis()`, `mapContour()`, `mapCoordinateSystem()`, `mapDirectionField()`, `mapGrid()`, `mapImage()`, `mapLines()`, `mapLocator()`, `mapLongitudeLatitudeXY()`, `mapPlot()`, `mapPoints()`, `mapPolygon()`, `mapText()`, `mapTissot()`, `oceCRS()`, `shiftLongitude()`, `usrLonLat()`, `utm2lonlat()`

### Examples

    library(oce)
    data(coastlineWorld)
    ## Arctic Ocean
    par(mar=c(2.5, 2.5, 1, 1))
    mapPlot(coastlineWorld, latitudelim=c(60, 120), longitudelim=c(-130,-50),
            col="lightgray", projection="+proj=stere +lat_0=90")
    mapScalebar()

[Package oce version 1.7-2 Index]