【发布时间】:2019-12-31 00:38:17
【问题描述】:
我想在地图上绘制一系列海豹轨迹的经纬度点,每个点都根据一个属性着色,以显示水深(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))
任何指导将不胜感激
【问题讨论】:
-
使用您创建的经典marmap 地图并使用
points(sealtrack, col=some.color.vector[category])添加您的印章轨迹有什么问题?另请查看vignette("marmap-DataAnalysis")的第 6-7 页。我相信这正是您正在寻找的。只需将示例中使用的深度值替换为您的category变量为点着色即可。