map_data("world") |>
filter(long > -20, long < 60, lat > -40, lat < 40) |>
ggplot(aes(long, lat)) +
# 绘制基础地图路径
geom_path(aes(group = group), color = "gray80") +
# 设置颜色填充
geom_polygon(aes(group = group, fill = language),
data = target_map |>
filter(!language_iso_code %in% c("tso", "hau", "pcm", "swa")) |>
mutate(language = if_else(language_iso_code %in% c("ibo", "yor"), "Igbo / Yorùbá", language))) +
# 绘制边界线
geom_path(aes(group = group, color = language),
linewidth = 1, alpha = 1/2,
data = target_map |>
filter(language_iso_code %in% c("tso", "hau", "pcm", "swa")) |>
mutate(language = if_else(language_iso_code %in% c("hau", "pcm"),
"Hausa / Nigerian Pidgin",
language))) +
# 设置颜色和图例
scale_fill_brewer("Single-country language", palette = "Paired") +
scale_color_manual("Multi-country language", values = c("#E6956F", "#788FCE", "green")) +
# 设置地图坐标
coord_map() +
# 设置主题
theme_void() +
theme(plot.background = element_rect(fill = "white", color = "white"))