前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggplot2自定义地图边界线颜色

ggplot2自定义地图边界线颜色

作者头像
R语言数据分析指南
发布2024-01-10 15:36:32
1210
发布2024-01-10 15:36:32
举报

加载R包

代码语言:javascript
复制
library(tidyverse)
library(lubridate)
library(scales)

导入数据

代码语言:javascript
复制
languages <- read_tsv("languages.xls")
language_countries <- read_tsv("language_countries.xls")
country_regions <- read_tsv("country_regions.xls")

数据整合

代码语言:javascript
复制
language_countries2 <- language_countries |> 
  left_join(languages, by = "language_iso_code")

数据清洗

代码语言:javascript
复制
target_map <- map_data("world") |> 
  mutate(region = if_else(region == "Swaziland", "Eswatini", region)) |> 
  semi_join(country_regions, by = c("region" = "country")) |> 
  left_join(language_countries2,
            by = c("region" = "country"), multiple = "all")

数据可视化

代码语言:javascript
复制
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"))
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加载R包
  • 导入数据
  • 数据整合
  • 数据清洗
  • 数据可视化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档