2016-12-02 295 views
0

我要繪製的三維陣列中號其中R:如何繪製三維陣列

M<-array(runif(64),dim=c(4,4,4)). 

類似的問題是here有評論認爲,這在R中可以使用普通的3D繪圖工作要做,但我可以在R中找到這樣的函數,它可以用來繪製多維數組(比如上面的例子中的3d數組)。任何建議如何去做。謝謝。

+0

你想要繪製什麼?根據M在三維立方體中的64個位置的值進行着色的點? – Spacedman

+0

@Spacedman。是。刪除不必要的部分。 – Janak

+1

爲什麼這些點的座標是不必要的?你想在座標1:4而不是三個座標軸上繪製點嗎? – Spacedman

回答

2

使用melt創建X,Y,Z,值的表,然後rgl做3D繪圖:

library(reshape2) 
library(rgl) 
M=melt(M) 
points3d(M$Var1,M$Var2,M$Var3) 

這只是64點的立方體。您可以縮放和它們上色:

points3d(M$Var1,M$Var2,M$Var3,size=10,color=rainbow(10)[M$value*10]) 

使用任何映射M$value的方法,以顏色,你喜歡。不要使用彩虹調色板!