Still a work-in-progress -- I want to add a few more features, such as:
See the Reference section for detailed examples.
library(sf) library(sfx) library(ggplot2) library(stars) # for geom_stars() olinda1 <- sf::read_sf(system.file("shape/olinda1.shp", package = "sf")) olinda1_centroids <- olinda1 %>% sf::st_centroid()
# MASS::kde2d kernel (default) olinda1_centroids %>% st_density() %>% ggplot() + geom_sf(data = olinda1, fill = NA, color = "gray80") + geom_sf(aes(color = density)) + scale_color_viridis_c() + theme_void() # KernSmooth::bkde2D kernel olinda1_centroids %>% st_density(method = "bkde2D") %>% ggplot() + geom_sf(data = olinda1, fill = NA, color = "gray80") + geom_sf(aes(color = density)) + scale_color_viridis_c() + theme_void()
# n = 10 produces a 10x10 grid olinda1_centroids %>% st_density(return_geometry = "grid", n = 10) %>% ggplot() + geom_sf(data = olinda1, fill = NA, color = "gray80") + geom_sf(aes(color = density)) + scale_color_viridis_c() + theme_void()
olinda1_centroids %>% st_density(return_geometry = "isoband") %>% ggplot() + geom_sf(aes(fill = level), alpha = 1) + geom_sf(data = olinda1_centroids, color = "red", size = 2) + scale_fill_viridis_c()
# NOT WORKING AS EXPECTED olinda1_centroids %>% st_density(return_geometry = "raster", n = 50) %>% # use lambda expr to place . inside geom_stars # or else ggplot() will error on fortify() attempt { ggplot() + geom_stars(data = .) + coord_equal() + theme_void() + scale_fill_viridis_c() + scale_x_discrete(expand = c(0, 0)) + scale_y_discrete(expand = c(0, 0)) }
# Density estimation (kernel based) st_density # Joins st_inner_join st_left_join st_anti_join st_semi_join # Convert logical matrix to logical vector st_any # Binary logical helpers st_any_contains st_any_contains_properly st_any_covered_by st_any_covers st_any_crosses st_any_disjoint st_any_equals st_any_equals_exact st_any_intersects st_any_is_within_distance st_any_overlaps st_any_touches st_any_within # Unitless dimensions st_ul_area st_ul_distance st_ul_length # Bounding-box helpers st_extent st_xdist st_ydist st_xlim st_ylim
geom_sf_density() plot_sf_density()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.