R等高线和填充等高线可以';我们不能合二为一

R等高线和填充等高线可以';我们不能合二为一,r,contour,R,Contour,我想画一张全球海洋表面温度的图片,但是在我填充了sst的轮廓之后,我尝试在填充的图片上添加更宽的计数器,然后发生了一些奇怪的事情,这两张图片无法匹配在一起 这是代码,因为我没有空间放原始数据,所以使用了随机数 这是密码 library(maps) ee<-array(rnorm(89*180),dim=c(89,180)) lati <- seq(-90,90,length=89) #Latitudes goes from -90 to 90 as far as I know :

我想画一张全球海洋表面温度的图片,但是在我填充了sst的轮廓之后,我尝试在填充的图片上添加更宽的计数器,然后发生了一些奇怪的事情,这两张图片无法匹配在一起 这是代码,因为我没有空间放原始数据,所以使用了随机数

这是密码

library(maps)

ee<-array(rnorm(89*180),dim=c(89,180))

lati <- seq(-90,90,length=89) #Latitudes goes from -90 to 90 as far as I know :)
long <- seq(-180,180,length=180)
plot(NA, xlim=c(-180,180), ylim=c(-90,90), xlab="", ylab="", xaxs="i", yaxs="i")
contour(long, lati, t(ee), add=TRUE)
filled.contour(long,lati,t(ee), color.palette=terrain.colors)
maps::map(database="world", fill=TRUE, col="light blue", add=TRUE)
库(地图)

ee您可以在th
填充轮廓帮助页面中阅读以下内容:

“filled.contour”产生的输出实际上是 两块地;一个是填充轮廓,一个是图例。两个 为这两个图设置了单独的坐标系,但它们 仅在函数返回这些值后在内部使用 坐标系丢失。如果要注释主轮廓 打印,例如,要添加点,可以在中指定图形命令 “plot.axes”参数。参见示例

因此,尝试将此应用到您的示例中,您可以执行以下操作:

library(maps)
ee<-array(rnorm(89*180),dim=c(89,180))
lati <- seq(-90,90,length=89) #Latitudes goes from -90 to 90 as far as I know :)
long <- seq(-180,180,length=180)
draw.map <- function() {maps::map(database="world", fill=TRUE, col="light blue", add=TRUE)}
filled.contour(long,lati,t(ee), color.palette=terrain.colors, plot.axes=draw.map())
库(地图)

谢谢朱巴,作为一个新来的人,我很高兴你能帮助我解决所有这些问题。不客气,欢迎来到Stack Overflow。如果我的答案解决了你的问题,你可以检查绿色标记,让其他用户知道。好吧,但是我的名声太低了,不能这么做。我会尽我最大的努力去做我擅长的事情,比如FORTRAN或者气象学