Add a legend that for the sizing of symbols

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,
  numberFormat = function(x) {     prettyNum(x, big.mark = ",", scientific = FALSE,
    digits = 1) },
  group = NULL,
  className = "info legend leaflet-control",
  ...
)

sizeNumeric(values, baseSize)

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

makeSizeIcons(
  values,
  shape = c("rect", "circle", "triangle", "plus", "cross", "diamond", "star",
    "stadium"),
  pal,
  color,
  colorValues,
  fillColor,
  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 sizes and if colorValues is not specified and pal is given, then the values are 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

numberFormat

formatting functions for numbers that are displayed e.g. format, prettyNum

group

group name of a leaflet layer group

className

extra CSS class to append to the control, space separated

...

arguments to pass to

addControl for addLegendSize

pretty for sizeBreaks

makeSymbol for makeSizeIcons

colorValues

the values used to generate color from the palette function

Value

an object from addControl

Examples

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) # Group layers control leaflet() %>% addTiles() %>% addLegendSize( values = quakes$depth, pal = numPal, title = 'Depth', labelStyle = 'margin: auto;', shape = c('triangle'), orientation = c('vertical', 'horizontal'), opacity = .7, breaks = 5, group = 'Depth') %>% addLayersControl(overlayGroups = c('Depth'))