来自 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)
我有一个来自我研究区域的带有等深线的 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)