3d parcelle R - Patch

J'ai les données suivantes dans une trame de données:

**x** in (0,1)
**y** in [0,1]
**z** in [0,1]

Par exemple:

X,Y,Z
0.1, 0.2, 0.56
0.1, 0.3, 0.57
...

Je tiens à signaler sur ce type de graphique:
3d parcelle R - Patch

J'ai essayé sur R, mais tout ce que je pouvais faire était un pas-si-fantaisie nuage de points 3d.
J'ai aussi lu sur le treillis 3d fil de fer, mais je ne pouvais pas obtenir ma tête autour de lui.

Que suis-je censé faire pour obtenir une Matlab comme le fil de fer dans la R?
Quelles sont les données transformées sont impliqués?

C'est l'exemple de code à partir de la documentation:

x <- seq(-pi, pi, len = 20)
y <- seq(-pi, pi, len = 20)
g <- expand.grid(x = x, y = y)
g$z <- sin(sqrt(g$x^2 + g$y^2))
wireframe(z ~ x * y, g, drape = TRUE,
aspect = c(3,1), colorkey = TRUE)

Je ne le trouve pas particulièrement clair.

MODIFIER: le persp3d fonction fonctionne très bien, et j'ai été en mesure de générer un graphique 3d avec une seule couleur. Comment puis-je définir une échelle de couleur par rapport à la valeur de z?

Merci pour tous les conseils,
Mulone

Il est vrai que cela prend un peu de pratique pour convertir (x,y,z) les données dans une matrice de valeurs z pour un fil de fer ou d'autres 3-d de la grille outils de dessins. Il vaut la peine d'apprendre à le convertir, car une fois que vous savez comment, vous ne l'oubliez jamais 🙂 . Vous pourriez, comme le scatterplot3d paquet, qui ne permet wiregrid parcelles.
Ce n'est pas testé donc ça va comme un commentaire plutôt qu'une réponse. Je recommande with(mydata,persp(x=sort(unique(X)),y=sort(unique(Y)),z=matrix(Z,ncol=length(unique(x))))) -- je ne suis pas tout à fait sûr que je suis la matrice organisé dans le bon ordre (peut-être byrow=TRUE etc.)
Voir example(wireframe) et example(persp) et de vérifier si elle répond à vos besoins.
Je n'ai jamais trouvé le temps pour obtenir ma tête autour de cela, mais regardez le code ici: addictedtor.free.fr/graphiques/graphcode.php?graph=23

OriginalL'auteur Mulone | 2011-09-27