如何使R中的五大湖与海洋颜色相同?

2023-12-06

我刚开始使用 R 制作地图。我正在尝试制作北美地图(以美国为中心),并希望五大湖的颜色与海洋的颜色相同。我当前的代码默认使它们与国家/州具有相同的颜色。关于如何改变它们的颜色有什么想法吗?也许是不同的底图?

当前代码:

library(cowplot)
library(googleway)
library(ggplot2)
library(ggrepel)
library(ggspatial)
library(sf)
library(rnaturalearth)
library(rnaturalearthdata)

world <- ne_countries(scale = "medium", returnclass = "sf")
usa <- st_as_sf(maps::map("state", fill=TRUE, plot =FALSE),
                crs = 4269)

ggplot(data = world) +
  geom_sf(color = "black", fill = "gray") +
  geom_sf(data = usa, color = "black", fill = "gray") +
  xlab("Longitude") + ylab("Latitude") +
  coord_sf(xlim = c(-123, -69), ylim = c(25, 49), expand = TRUE) +
  annotation_scale(location = "br", width_hint = 0.5, text_cex = 1) +
  annotation_north_arrow(location = "br", which_north = "true", 
                         pad_x = unit(0.15, "in"), pad_y = unit(0.3, "in"),
                         style = north_arrow_fancy_orienteering) +
  theme_bw() +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        text = element_text(size = 16),
        axis.text.x = element_text(size = 14, color = "black"),
        axis.text.y = element_text(size = 14, color = "black"),
        panel.grid.major = element_line(color = gray(0.5), linetype = "dashed", size = 0.5),
        panel.background = element_rect(fill = "aliceblue"))


好吧,我做了一些挖掘,结果发现自然地球具有全世界湖泊的几何形状。ne_download(type = 'lakes').

library(ggplot2)
library(ggspatial)
library(sf)
library(rnaturalearth)

科幻世界

world <- rnaturalearth::ne_countries(scale = "medium",
                                     returnclass = "sf")

北美作为 sf

n_america <- world %>% 
  filter(adm0_a3  %in% c("MEX", "CAN", "USA"))

湖泊作为SF

lakes <- rnaturalearth::ne_download(scale = 110, 
                     type = 'lakes', 
                     category = 'physical') %>% 
      sf::st_as_sf(lakes110, crs = 4269)

美国各州作为 sf

usa_states <- st_as_sf(maps::map("state", 
                                 fill=TRUE, 
                                 plot =FALSE),
                crs = 4269)

或者,美国声明为 sf (所以你不需要{maps})

devtools::install_github("ropensci/rnaturalearthhires")
usa_states <- rnaturalearth::ne_states(country = "United States of America") %>% 
 sf::st_as_sf(crs = 4269)

使用 ggplot2 绘图

ggplot() +
  geom_sf(data = n_america,
          mapping = aes(geometry = geometry),
          color = "black",
          fill = "gray")  +
  geom_sf(data = usa_states,
          mapping = aes(geometry = geom),          
          color = "black", 
          fill = "gray") +
  geom_sf(data = lakes,
          mapping = aes(geometry = geometry),
        color = "black",
        fill = "lightblue")  +
  coord_sf(ylim = c(23, 49),
           xlim = c(-123, -69),
           expand = TRUE) +
  annotation_scale(location = "br", 
                   width_hint = 0.25, 
                   text_cex = 1) +
  annotation_north_arrow(location = "br", 
                         which_north = "true", 
                         pad_x = unit(0.15, "in"),
                         pad_y = unit(0.3, "in"),
                         style = north_arrow_fancy_orienteering) +
  labs(x = "Longitude",
       y = "Latitude") +  
  theme_bw() +
  theme(axis.text.x = element_text(size = 12, color = "black"),
        axis.text.y = element_text(size = 12, color = "black"),
        panel.grid.major = element_line(color = gray(0.5), linetype = "dashed", size = 0.5),
        panel.background = element_rect(fill = "lightblue"))

enter image description here

随心所欲地改变海洋和湖泊的颜色。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使R中的五大湖与海洋颜色相同? 的相关文章

随机推荐

  • 使用 LibGit2Sharp 进行 Bitbucket 身份验证

    我使用 CSharp Bitbucket 库通过 Bitbucket 对用户进行身份验证 https github com scottksmith95 CSharp Bitbucket 身份验证工作正常 我得到了令牌值和令牌秘密值 我已经在
  • 无法在 xcode 中调整视图大小

    我似乎无法调整视图大小以填充模拟器中的屏幕 请参见下面的屏幕截图 注意顶部和底部的黑线 有谁知道我如何解决这个问题 Thanks Matt 此问题的原因是您尚未在项目中添加启动图像或故事板 您需要将启动图像添加到您的xcasset文件夹或者
  • C++ 中 i++++ 增量是什么

    谁能告诉我c 中i 自增的过程是什么 这是一个语法错误 使用最大咀嚼规则 i 被标记为 i 最后 是二元加法运算符 但显然它没有两个操作数 这会导致解析器错误 EDIT 评论中的问题 我们可以吗i j 它被标记为 i j 这又是一个语法错误
  • 跨多种语言的语义相似度

    我正在使用词嵌入来查找两个句子之间的相似性 使用 word2vec 如果一个句子是英语 另一个句子是荷兰语 我还可以获得相似性度量 尽管不是很好 所以我开始想知道是否可以计算两种不同语言的两个句子之间的相似度 没有明确的翻译 特别是如果这些
  • 通过命令行控制劳特巴赫

    我的条件是我必须将多个输出文件一一刷新到 mpc 控制器 我们使用lauterbach的GUI来进行软件的烧写和运行 现在我想通过 gt 命令行参数做同样的事情 请有人向我解释一下通过命令提示符控制劳特巴赫需要什么 我想使用 Lauterb
  • 使用 jQuery 切换下一个元素

    我有一个问题this元素 我知道如何this工作中 我有很多这样的 html 结构 当我点击 a 按钮时 带有 class 的 divextra options必须显示 但由于我在整个过程中重复了很多相同的 html 结构 因此当我单击按钮
  • 为什么我的自定义字体在某些浏览器中存在位置偏移?

    在我的网站 www monkey touch com 上工作时 我开始在标题和其他几个地方使用自定义字体 它看起来很棒 并且由于 font squirrel 它可以在所有浏览器上运行 然而 我后来意识到字体在某些浏览器中的呈现方式有所不同
  • 应用程序小部件中的 AdapterViewFlipper:setPendingIntentTemplate() 和 setOnClickFillInIntent() 不起作用

    我正在将应用程序小部件中的 ListView 更改为 AdapterViewFlipper 问题是 我需要处理对某个项目的点击 它可以完美地使用 setPendingIntentTemplate 将待处理的意图模板设置为整个 ListVie
  • 将 UIImageView 转换为 UIImage

    我正在处理图像 我有大量图像 并且我正在从服务器实时下载它们 然后使用AsyncImageView类 但知道我正在使用自定义类 这需要UIImage代替UIImageView 问题 有什么好的方法可以转换吗UIImageView to UI
  • 按下后退按钮时完成所有活动

    我有一个 Android 应用程序 有 3 个活动 对于第一个和第二个活动 我希望后退按钮退出所有现有活动 此时后退按钮正在退出它启动的活动 但如果在第二个活动上按下后退按钮 则将显示第一个活动 而不是退出应用程序 因为第一个活动会导致第二
  • Cloud Firestore 相当于实时数据库“.info/connected”参考吗?

    我已开始从 Firebase 实时数据库迁移到 Cloud Firestore 我需要一种方法 让应用程序在 Firestore 的连接状态发生变化时 从在线到离线 反之亦然 收到警报 为了清楚起见 我不需要将其写入数据库以供应用程序的其他
  • 与其他人分享来自 mpldatacursor 的图像

    我正在使用这个例子当鼠标悬停在数据上时如何显示数据标签制作当您将鼠标悬停在点上时会出现数据的图像 这确实很好用 但是有什么方法可以保存它以便我可以将图像发送给其他人吗 我不确定哪些格式支持 工具提示 但 pdf 和 svg 都支持 也许还有
  • Sql Server 2005 全文搜索中的干扰词

    我正在尝试对数据库中的一系列名称进行全文搜索 这是我第一次尝试使用全文搜索 目前 我输入输入的搜索字符串 并在每个术语之间放置一个 NEAR 条件 即输入的短语 Kings of Leon 变为 Kings NEAR of NEAR Leo
  • Lotus Notes XPage 用于设计,Oracle(或其他 RDBMS)用于数据

    我计划使用 XPage 进行设计 加上 Lotus Notes Elements 来制作一个 Web 应用程序 但我不会将数据存储在 Lotus Notes 中 而是将数据存储在 RDBMS 特别是 Oracle 数据库 中 正如您所看到的
  • 如何在 Python 中检查文件大小?

    如何在Python中获取文件的大小 Use os path getsize gt gt gt import os gt gt gt os path getsize path to file mp3 2071611 输出以字节为单位
  • 我需要在添加新组件时动态调整 JPanel 的大小

    我需要让用户向我的 JFrame 添加更多文本字段 因此一旦框架的大小超过其原始值 滚动窗格就会介入 由于我无法将 JScrollPane 添加到 JFrame 以启用滚动 所以我决定将 JPanel 放在JFrame 并将 JPanel
  • Docker 身份验证:无法获取匿名令牌

    我的 gitlab 运行程序中出现以下错误 错误 授权失败 无法获取匿名令牌 获取 https auth ipv6 docker com token scope repository 3Alibrary 2Fnode 3Apull serv
  • std::async 和对象复制

    我正在尝试std async最终得到如下代码 class obj public int val obj int a val a cout lt lt new obj lt lt endl obj cout lt lt delete obj
  • XPath 中求和与积的聚合函数

    类似于这个问题 http stackoverflow com q 1333558 948404 我想使用XPath来计算结构中产品的总和 如下所示
  • 如何使R中的五大湖与海洋颜色相同?

    我刚开始使用 R 制作地图 我正在尝试制作北美地图 以美国为中心 并希望五大湖的颜色与海洋的颜色相同 我当前的代码默认使它们与国家 州具有相同的颜色 关于如何改变它们的颜色有什么想法吗 也许是不同的底图 当前代码 library cowpl