# NOT RUN {
# add interactive sf objects to a ggplot -------
library(ggplot2)
library(ggiraph)
## original code: see section examples of ggplot2::geom_sf help file
if (requireNamespace("sf", quietly = TRUE)) {
nc <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
gg <- ggplot(nc) +
geom_sf_interactive(aes(fill = AREA, tooltip = NAME, data_id = NAME))
ggiraph( ggobj = gg)
nc_3857 <- sf::st_transform(nc, "+init=epsg:3857")
# Unfortunately if you plot other types of feature you'll need to use
# show.legend to tell ggplot2 what type of legend to use
nc_3857$mid <- sf::st_centroid(nc_3857$geometry)
gg <- ggplot(nc_3857) +
geom_sf(colour = "white") +
geom_sf_interactive(aes(geometry = mid,
size = AREA, tooltip = NAME, data_id = NAME),
show.legend = "point")
girafe( ggobj = gg)
}
# }
Run the code above in your browser using DataLab