sub_ids <- V(sub)$name
mapa_df <- cen %>%
filter(!is.na(lat), !is.na(lon)) %>%
left_join(tibble(bank_id = V(chronnet)$name, monto_total = V(chronnet)$monto_total,
tx_total = V(chronnet)$tx_total, first = V(chronnet)$first, last = V(chronnet)$last),
by = "bank_id") %>%
mutate(clave = bank_id %in% sub_ids,
radio = 3 + 10 * scales::rescale(log1p(fuerza)))
tooltip <- function(df) lapply(paste0(
"<b>", df$bank_name, "</b> (", df$country, ")<br>",
"💰 Total money: ", dollar(df$monto_total), "<br>",
"🔢 Total transactions: ", comma(df$tx_total), "<br>",
"📍 ", round(df$lat, 3), ", ", round(df$lon, 3), "<br>",
"🗓️ Active: ", df$first, " → ", df$last), htmltools::HTML)
leaflet(mapa_df) %>%
addProviderTiles(providers$OpenStreetMap) %>%
addCircleMarkers(data = mapa_df %>% filter(!clave),
lng = ~lon, lat = ~lat, radius = 2, group = "Rest of network",
color = "#64748B", stroke = FALSE, fillOpacity = 0.25) %>%
addCircleMarkers(data = mapa_df %>% filter(clave),
lng = ~lon, lat = ~lat, radius = ~radio, group = "Key players",
color = "#D4883A", stroke = FALSE, fillOpacity = 0.9,
label = tooltip(mapa_df %>% filter(clave))) %>%
addLayersControl(overlayGroups = c("Key players", "Rest of network"),
options = layersControlOptions(collapsed = FALSE)) %>%
setView(lng = 0, lat = 20, zoom = 2)