2016-06-03 2 views
2

J'essaie de tracer un objet de la classe bathy en utilisant un persp3D mais, bien que la surface soit correcte dans le tracé, les coordonnées de l'axe sont fausses.Les coordonnées incorrectes dans la parcelle persp3D avec l'objet de classe bathy

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) 

figure example

Comment puis-je résoudre ce problème? J'ai essayé de convertir les données bathymétriques en une autre classe d'objets, comme xyz ou RasterLayer, afin de définir les paramètres x et y, mais je n'ai pas réussi à les tracer.

Répondre

1

Je pense que le problème est la façon dont persp3d comprend bathy lorsque seulement z est passé. Voir x, y, z arguments dans ?persp3d. Si vous passez également x et y, les axes sont corrects. Avec l'exemple minimal persp3d nous avons:

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

Merci Vincent! – fmatos

+0

de rien! –

+0

La question sur 'persp3D' n'était-elle pas plutôt que sur' persp3d'? – user2554330