Skip to content

Instantly share code, notes, and snippets.

@walkerke
Last active October 23, 2024 20:41
Show Gist options
  • Save walkerke/b7f22ec87b2eba768877341c98b0ce38 to your computer and use it in GitHub Desktop.
Save walkerke/b7f22ec87b2eba768877341c98b0ce38 to your computer and use it in GitHub Desktop.
library(mapgl)
library(tidycensus)
library(tigris)
options(tigris_use_cache = TRUE)
manhattan_income <- get_acs(
geography = "tract",
variables = "B19013_001",
state = "NY",
county = "New York",
geometry = TRUE
) |>
erase_water()
manhattan_education <- get_acs(
geography = "tract",
variables = "DP02_0068P",
state = "NY",
county = "New York",
geometry = TRUE
) |>
erase_water()
manhattan_age <- get_acs(
geography = "tract",
variables = "B01002_001",
state = "NY",
county = "New York",
geometry = TRUE
) |>
erase_water()
mapboxgl(center = c(-73.9261, 40.8231),
zoom = 10,
pitch = 67,
bearing = -8.3,
hash = TRUE) |>
add_fill_extrusion_layer(
id = "Median HH income",
source = manhattan_income,
fill_extrusion_color = interpolate(
"estimate",
values = c(11000, 250001),
stops = c("lightgreen", "darkgreen"),
na_color = "lightgrey"
),
fill_extrusion_base = 1000
) |>
add_fill_extrusion_layer(
id = "% with college degree",
source = manhattan_education,
fill_extrusion_color = interpolate(
"estimate",
values = c(0, 100),
stops = c("lightblue", "darkblue"),
na_color = "lightgrey"
),
fill_extrusion_base = 4000
) |>
add_fill_extrusion_layer(
id = "Median age",
source = manhattan_age,
fill_extrusion_color = interpolate(
"estimate",
values = c(20, 68),
stops = c("lightpink", "maroon"),
na_color = "lightgrey"
),
fill_extrusion_base = 7000
) |>
add_layers_control(collapsible = TRUE) |>
add_legend(
"Median income",
values = c("$11k", "$250k"),
colors = c("lightgreen", "darkgreen"),
position = "bottom-left"
) |>
add_legend(
"% with college degree",
values = c("0%", "100%"),
colors = c("lightblue", "darkblue"),
position = "top-right",
add = TRUE
) |>
add_legend(
"Median age",
values = c("20", "68"),
colors = c("lightpink", "maroon"),
position = "bottom-right",
add = TRUE
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment