如何绘制地图的特定区域?

时间:2015-11-22 13:25:13

标签: r plot ggplot2

我想绘制德国的特定部分(德国Bight)。因此我使用了followig代码

library(ggplot2)
library(mapdata)

lon_min <- 5
lon_max <- 10
lat_min <- 52
lat_max <- 57

coast_map <- fortify(map("worldHires", 
                     xlim = c(lon_min, lon_max), 
                     ylim = c(lat_min, lat_max), 
                     fill = T, plot = F))

ggplot(coast_map, aes(x = long, y = lat, group = group)) +
geom_polygon()

这就是我得到的照片 map of germany

嗯,这不是我想要的。我不想绘制孔德国,而是它的特定区域。如上所述,我确定了经度和纬度。

 lon_min <- 5
 lon_max <- 10
 lat_min <- 52
 lat_max <- 57

为什么要向我展示整个德国地图?有没有办法在使用geom_polygon()时在相应的坐标处剪切地图? 感谢。

2 个答案:

答案 0 :(得分:1)

这是你在找什么? (以下代码)

ggplot2 German Bight

# install.packages("mapdata", dependencies = TRUE)
# install.packages("ggplot2", dependencies = TRUE)

library(ggplot2)
library(mapdata)

lon_min <- 5
lon_max <- 10
lat_min <- 52
lat_max <- 57

coast_map <- fortify(map("worldHires", 
                     xlim = c(lon_min, lon_max), 
                     ylim = c(lat_min, lat_max), 
                     fill = T, plot = F))

ggplot(coast_map, aes(x = long, y = lat, group = group)) + geom_polygon() + 
       coord_map(xlim=c(lon_min, lon_max), ylim=c(lat_min, lat_max))

答案 1 :(得分:0)

您可以添加+ coord_map(xlim=c(lon_min, lon_max), ylim=c(lat_min, lat_max))