Learn R Programming

leaflegend (version 0.3.0)

addLegendSize: Add a legend that for the sizing of symbols

Description

Add a legend that for the sizing of symbols

Usage

addLegendSize(
  map,
  pal,
  values,
  title = NULL,
  labelStyle = "",
  shape = c("rect", "circle", "triangle", "plus", "cross", "diamond", "star",
    "stadium"),
  orientation = c("vertical", "horizontal"),
  color,
  fillColor,
  strokeWidth = 1,
  opacity = 1,
  fillOpacity = opacity,
  breaks = 5,
  baseSize = 10,
  ...
)

sizeNumeric(values, baseSize)

sizeBreaks(values, breaks, baseSize, ...)

makeSizeIcons( values, shape = c("rect", "circle", "triangle", "plus", "cross", "diamond", "star", "stadium"), pal, color, fillColor = color, opacity, fillOpacity = opacity, strokeWidth = 1, baseSize, ... )

Arguments

map

a map widget object created from 'leaflet'

pal

the color palette function, generated from colorNumeric

values

the values used to generate colors from the palette function

title

the legend title, pass in HTML to style

labelStyle

character string of style argument for HTML text

shape

shape of the color symbols

orientation

stack the legend items vertically or horizontally

color

the color of the legend symbols, if omitted pal is used

fillColor

fill color of symbol

strokeWidth

width of symbol outline

opacity

opacity of the legend items

fillOpacity

fill opacity of the legend items

breaks

an integer specifying the number of breaks or a numeric vector of the breaks

baseSize

re-scaling size in pixels of the mean of the values, the average value will be this exact size

...

arguments to pass to

addControl for addLegendSize

pretty for sizeBreaks

makeSymbol for makeSizeIcons

Value

an object from addControl

Examples

Run this code
# NOT RUN {
library(leaflet)
data("quakes")
quakes <- quakes[1:100,]
numPal <- colorNumeric('viridis', quakes$depth)
sizes <- sizeNumeric(quakes$depth, baseSize = 10)
symbols <- Map(
  makeSymbol,
  shape = 'triangle',
  color = numPal(quakes$depth),
  width = sizes,
  height = sizes
)
leaflet() %>%
  addTiles() %>%
  addMarkers(data = quakes,
             icon = icons(iconUrl = symbols),
             lat = ~lat, lng = ~long) %>%
  addLegendSize(
    values = quakes$depth,
    pal = numPal,
    title = 'Depth',
    labelStyle = 'margin: auto;',
    shape = c('triangle'),
    orientation = c('vertical', 'horizontal'),
    opacity = .7,
    breaks = 5)

# a wrapper for making icons is provided
sizeSymbols <-
makeSizeIcons(
  quakes$depth,
  shape = 'cross',
  pal = numPal,
  color = 'black',
  strokeWidth = 1,
  opacity = .8,
  fillOpacity = .5,
  baseSize = 20
)
leaflet() %>%
  addTiles() %>%
  addMarkers(data = quakes,
             icon = sizeSymbols,
             lat = ~lat, lng = ~long) %>%
  addLegendSize(
    values = quakes$depth,
    pal = numPal,
    title = 'Depth',
    shape = 'cross',
    orientation = 'horizontal',
    strokeWidth = 1,
    opacity = .8,
    fillOpacity = .5,
    color = 'black',
    baseSize = 20,
    breaks = 5)
# }

Run the code above in your browser using DataLab