Learn R Programming

secr (version 5.0.0)

strip.legend: Colour Strip Legend

Description

This function is used with shaded plots to display a legend.

Usage

strip.legend(xy, legend, col, legendtype = c("breaks", "intervals", "other"),
  tileborder = NA, height = 0.5, width = 0.06, inset = 0.06, text.offset = 0.02,
  text.cex = 0.9, xpd = TRUE, scale = 1, title = "", box = NA, box.col = par()$bg)

Value

Invisibly returns a vector of user coordinates for the left, right, bottom and top of the colour strip.

Arguments

xy

location of legend (see Details)

legend

character vector (see Details)

col

vector of colour values

legendtype

character

tileborder

colour of lines around each tile in the colour strip. Use NA for none.

height

height of colour strip as a fraction of the plot dimensions

width

width of colour strip as a fraction of the plot dimensions

inset

spacing between legend and outside plot boundary, as a fraction of the plot dimensions

text.offset

spacing between colour strip and text, as a fraction of the plot dimensions

text.cex

size of text font

xpd

logical, if TRUE the legend will use the margins of the plot

scale

numeric; each value x will be displayed as scale * x

title

text displayed above legend

box

colour of frame, if framed, otherwise NA

box.col

colour of background, if framed, otherwise ignored

Details

The location of the legend is determined by xy which may be one of the character values "topright", "topleft", "bottomright", "bottomleft", "right", "left", or the x-y coordinates (in user units) of the top-left corner of the colour strip. Coordinates may be given as a vector or a list, and the output from locator(1) is suitable.

For more on colours, see notes in plot.mask and colors and terrain.colors

If legendtype = 'breaks' then labels are placed at the class boundaries; otherwise, the labels are centred vertically. If legendtype = 'breaks' or legendtype = 'intervals' then numeric values are extracted from the input, otherwise the text strings in legend are used as provided.

The legend itself may be provided as a vector of values or as the class labels output from plot.mask. Class labels are generated by cut in the form `(0,20]', `(20,40]', etc. These are parsed to construct either breaks (0,20,40,...) or intervals (`0-20', `20-40',...) as requested in the legendtype argument.

box may also be TRUE/FALSE; if TRUE the foreground colour is used par()$fg.

See Also

plot.mask

Examples

Run this code


temptrap <- make.grid()
tempmask <- make.mask(temptrap)
covariates (tempmask) <- data.frame(circle = 
    exp(-(tempmask$x^2 + tempmask$y^2)/10000) )
tmpleg <- plot (tempmask, covariate = "circle", dots = FALSE, 
    breaks = 10, legend = FALSE)
strip.legend (xy = 'topright', col = terrain.colors(10),
    legend = tmpleg, title = "Test plot")

if (interactive()) {
    ## a custom axis using the returned values
    par(mar = c(2,2,2,6))
    plot (tempmask, covariate = "circle", dots = FALSE, 
        breaks = 10, legend = FALSE)
    b <- strip.legend (locator(1), col = terrain.colors(10),
        legendtype = "other", legend = "    ", title = "Test plot",
         height = 0.3, box = NA)
    axis(side = 4, pos = b[2]+5, at = seq(b[4], b[3], length = 3),
        lab = seq(0,1,0.5), las = 1, tck = -0.02)
    par(mar = c(5,4,4,2) + 0.1)  ## reset to default
}

Run the code above in your browser using DataLab