persp3D 图中的坐标不正确,带有深水 class 对象

Incorrect coordinates in persp3D plot with bathy class object

我正在尝试使用 persp3D 绘制深海对象 class 但是,尽管绘图中的表面是正确的,但轴坐标是错误的。

library(OceanView)
library(marmap)

bathy<- getNOAA.bathy(lon1 = -90, lon2 = -60, lat1 = 20, lat2 = 29, resolution = 2, keep = T)

persp3D(z=bathy, col= jet.col (n = 100, alpha = 1), colkey=T, scale = F, 
        expand=0.05, plot = FALSE, xlab="longitude", 
          ylab="latitude", zlab="depth")

plotrgl(lighting = TRUE, smooth = TRUE) 

我该如何解决这个问题?我试图将测深数据转换为其他对象 class,例如 xyz 或 RasterLayer,以便定义 x 和 y 参数,但后来我无法绘制它。

我认为问题在于 persp3d 在仅通过 z 时理解 bathy 的方式。请参阅 ?persp3d 中的 xyz 参数。如果您还传递了 xy,那么坐标轴就可以了。使用最小的 persp3d 示例,我们有:

persp3d(x=seq(-90, -60, length=nrow(bathy)),
        y=seq(20, 29, length=ncol(bathy)),
        z=bathy)