来自 SpatialLinesDataFrame 的等深线在强化数据框中没有很好地表示

isobaths from SpatialLinesDataFrame are not well represented in fortified dataframe

我有一个来自我研究区域的带有等深线的 shapefile,我很容易将它作为 SpatialLinesDataFrame 导入到 R

sdf.isobath <- readOGR("./gis","isobath")
sdf.isobath <- spTransform(sdf.isobath, CRS("+proj=longlat +datum=WGS84"))
proj4string(sdf.isobath)

plot(sdf.isobath)

尽管如此,我想在 ggplot 地图中使用。为此,我“强化”了它。

# add id column with row names 
sdf.isobath$id <- rownames(sdf.isobath@data)

# create dataframe
dat.isobath_spc <- fortify(sdf.isobath,region="id")
head(dat.isobath_spc)

# add map data
dat.isobath_spc <- merge(dat.isobath_spc,sdf.isobath@data,by="id")
head(dat.isobath_spc)
summary(dat.isobath_spc)

但是当我用 ggplot 绘制它时,等值线很混乱

ggplot() + geom_line(data = dat.isobath_spc, aes(x=long, y=lat, group=id), color="black",size=0.1)

我尝试了几个带有等值线的 shapefile,但遇到了同样的问题。我哪里错了?

谢谢。

我得到了答案。我必须使用 geom_path

我必须使用

ggplot() + geom_path(data = dat.isobath_spc, aes(x=long, y=lat, group=id), color="black",size=0.1)