Excuses si je manque l'évidence ...x y coordonnées à l'envers avec
Je trace une surface 3d avec rgl. Mon code est
library(rgl)
dem1 = read.table(file="file.txt",skip=5,header=F,na.strings="0.")
dem = dem1[order(dem1$V1,dem1$V2),]
z = matrix(dem$V3,nrow=1250,ncol=1250)
is.na(z) = (z < 200)
#create x y dimensions
x=4*(1:nrow(z))
y=4*(1:ncol(z))
open3d()
bg3d("white")
persp3d(x,y,z)
qui donne cette carte (la couleur a été ajouté à voir les caractéristiques mieux, même si je ne l'ai pas mis le code au-dessus)
Le problème est que quoi que je fasse à cette carte, elle est à l'envers, ie x devrait être y et ce qui est actuellement y va de l'ouest (0) à l'est (5000) mais cela devrait être le contraire. en bas à droite.
Je tracé une carte de contour très simple en utilisant le même fichier avec ce script
dem=read.table("file.txt",header=F,skip=5,na.strings="0.")
library(lattice)
contourplot(dem$V3 ~ dem$V1+dem$V2)
qui donne
et qui obtient les axes de droite et la région la plus élevée dans le fond gauche, exactement où il devrait être, donc il n'y a pas de problème avec les données.
expliquer comment les données semble here et pourquoi je ressens le besoin de modifier l'ordre avec
dem = dem1[order(dem1$V1,dem1$V2),]
La chose étrange est de savoir si j'utilise la commande ci-dessus ou non la carte de surface 3D ressemble exactement la même chose, qui Je me demande si le code utilise réellement le jeu de données "dem" créé avec la commande order
ou s'il utilise toujours les données originales "dem1" qu'il a lues dans le fichier et qui sont dans le mauvais ordre.
Je suis très heureux d'envoyer les données sur demande ou de les mettre quelque part on peut le voir mais je ne peux pas le copier ici car il s'agit de 1250 lignes x1250 colonnes.
Merci d'avance!
Ceci n'est pas dû à la façon dont vous construisez la matrice 'z' est-ce? R remplira par des colonnes et non par des lignes. Voir si 'z <- matrice (dem $ V3, nrow = 1250, ncol = 1250, byrow = VRAI)' fonctionne. C'est la seule différence que je peux voir entre ce qui est utilisé par 'contourplot()' et 'persp3d()' –
Oui c'est! Merci beaucoup! Je viens de passer une journée entière à ce sujet. Je suppose que je manquais en effet l'évidence ... – SnowFrog
Par oui, je voulais dire oui, je devais écrire 'z <- matrice (dem $ V3, nrow = 1250, ncol = 1250, byrow = TRUE)' ... – SnowFrog