将点(纬度)添加到marmap图中

问题描述 投票:1回答:1

我想在显示航迹(100m等高线)和海岸线的地图上绘制一系列海豹追踪点的纬度点,每个点都根据属性着色。我学习了如何使用marmap和ggplot2创建地图以显示测深线和海岸线。代码在这里:

dat <- getNOAA.bathy(-58,-62.5,43,46.0,res=0, keep=TRUE)
plot(dat,image=TRUE,bpal = list(c(min(dat), 0, "darkblue", "blue","lightblue"), c(0, max(dat), "gray90","gray10")),drawlabels=TRUE,deep=c(-500,200,0),shallow=c(-500,100,0),step=c(500,100,0),lwd=c(1,1,1),lty=c(1,1,1),land=TRUE)+
  scaleBathy(dat, deg=1.232, x="bottomleft", inset=5) #100km

这创建了一个有用的地图。但是,我对如何在此地图上添加印章轨迹感到困惑。

我可以在ggmap中执行此操作(使用下面的代码),但我更喜欢marmap地图

myLocation <- c(-62.5,43,-58,46)
seal_map2<-get_map(location=myLocation,maptype="watercolor",source="stamen",zoom=10)
ggmap(seal_map2)+
geom_point(data=sealtrack,aes(color=category),size=0.5)+
scale_color_gradientn(colours=rainbow(6), breaks=seq(1,6,by=1)) 

任何指导将不胜感激

r ggplot2 maps
1个回答
0
投票

“加强”后,您应该能够将marmap的测深信息添加为绘图上的轮廓层。没有您的数据,很难确保它能正常工作(并且NOAA服务器现在对我而言是关闭的):

library(ggplot2)
library(marmap)
dat <- getNOAA.bathy(-58,-62.5,43,46.0,res=0, keep=TRUE)
dat <- fortify(dat)
ggmap(seal_map2) +
   geom_contour(dat, aes(x = x, y = y, z = z)) +
   geom_point(data=sealtrack,aes(color=category),size=0.5) +
   scale_color_gradientn(colours=rainbow(6), breaks=seq(1,6,by=1)) 
© www.soinside.com 2019 - 2024. All rights reserved.