2017-11-03 146 views
0

我试图创建一个对象来绘制基于该3D表面绘制3D表面,我想创建一个目的是被用于作为R

tmp <- matrix(10:39, nrow = 3, ncol = 10) 
x <- 10:12 
y <- 20:30 

TMP [X,Y]为z

我应该如何创建这样一个对象?

+0

你可以用'plotly':https://plot.ly/r/3d-surface-plots/ –

+0

什么哟由_TMP意思[x,y]是z_? – ANG

+0

只是一个变量 –

回答

0

下面是一个例子:

library(plotly) 

tmp <- matrix(10:39, nrow = 3, ncol = 10) 
x <- 10:12 
y <- 20:30 


plot_ly(x = x, y = y) %>% 
    add_surface(z = t(tmp)) #transpose it 

enter image description here

+0

感谢您的回答。但是,我很难理解为什么我们应该转置tmp。假设z是f(x,y)在x,y,z空间中形成一个物体以将其传递给plot_ly的最佳方式是什么? –

+0

@Mehdi Zare积极地看着z矩阵的列,因为它是x和行,因为它是y:z〜f(y,x)。你可以查看'data(volcano)'和[this](https://plot.ly/r/3d-surface-plots/)。火山矩阵有87行和61列,并且y值的范围对应于行,并且x值的范围对应于列。事实上,对于曲面图,甚至不需要指定x和y变量,只需将z矩阵传递​​给'add_surface'即可。 – missuse

相关问题