Learn R Programming

Include Tables, Images and Graphs in Leaflet Popups

leafpop creates HTML strings to embed tables, images or graphs in popups of interactive maps created with packages ‘leaflet’ or ‘mapview’. Handles local paths to images on the file system or remote urls. Handles graphs created with ‘base’ graphics, ‘lattice’ or ‘ggplot2’ as well as interactive plots created with ‘htmlwidgets’.

Installation

You can install the released version of leafpop from CRAN with:

install.packages("leafpop")

Or the development version from GitHub:

# install.packages("devtools")
devtools::install_github("r-spatial/leafpop")

Examples

popupTable

library(leaflet)

leaflet() %>%
  addTiles() %>%
  addCircleMarkers(data = breweries91,
                   popup = popupTable(breweries91))

addPopupImages & popupImage

library(sf)
library(leaflet)

pnt = st_as_sf(data.frame(x = 174.764474, y = -36.877245),
                coords = c("x", "y"),
                crs = 4326)

img = "http://bit.ly/1TVwRiR"

leaflet() %>%
  addTiles() %>%
  addCircleMarkers(data = pnt, group = "pnt") %>%
  addPopupImages(img, group = "pnt")

Alternatively you can bind the images directly in in the add* call, however, this will not include the images when the map is saved using mapshot or saveWidget. This options is basically available for backward compatibility only.


leaflet() %>%
  addTiles() %>%
  addCircleMarkers(data = pnt, popup = popupImage(img, src = "remote"))

popupGraph

library(sf)
library(leaflet)
library(lattice)

pnt = st_as_sf(data.frame(x = 174.764474, y = -36.877245),
                coords = c("x", "y"),
                crs = 4326)

p2 = levelplot(t(volcano), col.regions = terrain.colors(100))

leaflet() %>%
  addTiles() %>%
  addCircleMarkers(data = pnt, group = "pnt") %>%
  addPopupGraphs(list(p2), group = "pnt", width = 300, height = 400)

Alternatively you can bind the graphs directly in in the add* call, however, this will not include the graphs when the map is saved using mapshot or saveWidget. This options is basically available for backward compatibility only.


leaflet() %>%
  addTiles() %>%
  addCircleMarkers(data = pnt, popup = popupGraph(p2, width = 300, height = 400))

Further examples

See the mapview documentation for further examples.

Code of Conduct

Please note that the ‘leafpop’ project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Copy Link

Version

Install

install.packages('leafpop')

Monthly Downloads

14,164

Version

0.1.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

May 22nd, 2021

Functions in leafpop (0.1.0)

leafpop-package

Include Tables, Images and Graphs in Leaflet Popups
addPopupImages

Add image popups to leaflet layers.
popupGraph

Create HTML strings for popups
addPopupGraphs

Add graph/plot popups to leaflet layers.