2013-06-20 8 views
11

Wie kann ich mithilfe einer 2D-Matrix in R ein 3D-Oberflächendiagramm erstellen, wobei Spalten = x, Zeilen = y und die Werte die Höhen in z sind?3D-Oberflächendiagramm aus 2D-Matrix

Im folgenden Beispiel wären die x-Werte 1: 5, der y-Wert wäre 1: 5 und die Zahlen würden die Höhen/Werte in z darstellen.

> m<-matrix(rnorm(25),nrow=5,ncol=5) 
> m 
      [,1]  [,2]  [,3]  [,4]  [,5] 
[1,] -1.495513045 0.8000040 -1.1499261 1.65661138 0.8140510 
[2,] -1.150018195 -0.7582933 0.8306922 0.16026908 0.3913198 
[3,] -0.852609406 0.5525621 0.3585986 -0.45054768 -1.2259927 
[4,] -0.001926297 -0.5857351 2.1518281 0.03192463 0.2065039 
[5,] -1.641128610 0.4333973 -1.0616628 -0.92143426 -0.9598991 

Antwort

10

Paket rgl sollten Sie begann ...

require(rgl) 
# open renderer 
open3d() 
# plot surface 
rgl.surface(1:10 , 1:10 , runif(100)) 
# Export to png 
rgl.snapshot("sample.png" , fmt="png", top=TRUE) 

enter image description here

3

Um eine 3D-Oberflächendarstellung einer 2D-Matrix zu erhalten, die die Z-Werte enthält, versuchen:

require(plot3D) 

persp3D(z = TheMatrix2D, theta = 120) 

Verwenden Sie theta, um den Betrachtungswinkel einzustellen. Mit meinen Daten, erhalte ich die folgende Handlung:

enter image description here

+0

dies scheint wie eine bessere Syntax (da es eine Matrix als Eingabe akzeptiert), und hat eine bessere Standardeinstellungen. – Paul

Verwandte Themen