在R中的地块上添加海岸线

o0lyfsai  于 2023-02-14  发布在  其他
关注(0)|答案(2)|浏览(152)

我需要制作一个Map,其中插入的数据在上面。我的绘图代码是:

library(ggplot2)
theme_set(theme_bw())
library(sf)
library(rnaturalearth)
library(rnaturalearthdata)
library(ggthemes)
world <- ne_countries(scale = "medium", returnclass = "sf")
class(world)
ggplot(data = world)+
  geom_tile(data = d, aes(x = lon, y = lat, fill=x))+
  geom_raster(data = d, aes(x = lon, y = lat, fill=x))+
  geom_sf()+
  coord_sf(xlim=c(3,35), ylim=c(52,72))

我收到了这样的一个情节

但我只需要国家轮廓上的情节没有任何区别,无论是陆地或海洋。你能请帮助我在这方面的寄宿生。

3wabscal

3wabscal1#

如果只对绘制海岸线感兴趣,可以使用函数ne_coastline()

library("ggplot2")
library("sf")
library("rnaturalearth")
library("rnaturalearthdata")

world <- ne_coastline(scale = "medium", returnclass = "sf")

ggplot(world) +
  geom_sf() +
  coord_sf(xlim = c(3, 35), ylim = c(52, 72)) +
  theme_void()

mrfwxfqh

mrfwxfqh2#

你可以在你的geom_sf中为fill设置alpha,这样它就不会被看到。

library(ggplot2)
library(sf)
library(rnaturalearth)
library(rnaturalearthdata)
library(ggthemes)
library(rgeos)

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

ggplot() +
  geom_tile(data = d, aes(x = lon, y = lat, fill=x)) +
  geom_raster(data = d, aes(x = lon, y = lat, fill=x)) +
  geom_sf(data = world, fill=alpha("lightgrey", 0), color="lightgrey") +
  coord_sf(xlim=c(3,35), ylim=c(52,72)) + 
  theme_bw()

下面是一个仅显示世界Map的示例。

ggplot() +
  geom_sf(data = world, fill=alpha("lightgrey", 0), color="lightgrey") +
  coord_sf(xlim=c(3,35), ylim=c(52,72)) + 
  theme_bw()

相关问题