2017-03-07 5 views
0

Ich versuche, einen 3D-Array Plot in R. zu tun bisR Programmierung: 3D-Array Plots

Ich habe bereits eine Reihe aufgebaut und mit den entsprechenden Z-Werten definiert z.B. CVHSP500 = array(0,c((nHSP500-N),N))

Also jetzt versuche ich ein 3D-Array-Plot damit zu machen. Ich entschied mich, mit persp3d(CVHSP500,col = "lightblue",) zu gehen und habe eine ziemlich anständige Handlung erhalten.

3D Image

So gibt es offensichtlich einige Probleme mit dieser Handlung.

1) Die Koordinaten sind nicht korrekt definiert.

Lesen Sie online auf die Verwendung von persp3D und andere R-Programmierfunktionen/Pakete wie Slice3D, sie alle erfordern x, y und z separate Liste sein. Ich verstehe nicht, wie man die Werte von x und y an das jeweilige z anpasst, und da persp3D perfekt funktioniert, ohne dass ich das tun muss, entschied ich mich für persp3D. Aber ich muss Koordinaten dafür einfügen, aber ich habe keine Ahnung, wie.

2) Irgendwelche Ratschläge, wie ich die Diagramme für verschiedene Bereiche von z färbe? Die online scheinen alle auf einzelne x-, y- und z-Listen zu verweisen und irgendeine Form fortgeschrittener Modifikation, die ich nicht wirklich verstehen kann. Diese hellblaue Farbe sieht gut aus, aber es wäre auch gut für verschiedene Bereiche von z.

Danke für die Hilfe. Sehr geschätzt.

Antwort

0

in einem 2D-Array-Transformation für jedes (x, y) in 3 Vektoren x, y und z repräsentieren z, kann man dies tun:

CVHSP500 = array(0,c((nHSP500-N),N)) 

x <- rep(1:(nHSP500-N),N) 
y <- rep(1:N,(nHSP500-N)) 
z <- CVHSP500 
dim(z) <- (nHSP500-N)*N