Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用plotly打印三维曲面(使用akima::interp进行矩阵变换)_R_Plotly - Fatal编程技术网

使用plotly打印三维曲面(使用akima::interp进行矩阵变换)

使用plotly打印三维曲面(使用akima::interp进行矩阵变换),r,plotly,R,Plotly,为了用x、y、z在plotly中绘制曲面,我们可以使用函数interp创建数据(作为plotly中的add_surface函数的输入) 给出解决方案 我遵循不同的步骤。 使用下面的代码,我们可以绘制带有标记的曲面 library(akima) library(plotly) x=rep(seq(-1,5,0.2),time=31,each=1) y=rep(seq(-1,5,0.2),time=1,each=31) df=data.frame(x=x,y=y, z

为了用x、y、z在plotly中绘制曲面,我们可以使用函数
interp
创建数据(作为plotly中的
add_surface
函数的输入)

给出解决方案

我遵循不同的步骤。 使用下面的代码,我们可以绘制带有标记的曲面

library(akima)
library(plotly)

x=rep(seq(-1,5,0.2),time=31,each=1)
y=rep(seq(-1,5,0.2),time=1,each=31)

df=data.frame(x=x,y=y,
              z=2*x+y-1.4)


fig <- plot_ly()%>% add_markers(data=df,x = ~x, y = ~y, z = ~z,
          marker = list(color = "blue",
                        showscale = TRUE))

fig
我有下面的图像

我们可以看到结果是不同的。我不明白为什么

当我尝试更改函数以生成z时,有时两个曲面是相同的。例如,对于此data.frame

df=data.frame(x=x,y=y,
              z=x+y+1)
我们有下图。我们可以看到,这一次,我们得到了相同的曲面


interp
中的含义相比,
x
y
的含义似乎在
add\u曲面中互换。工作的示例具有对称显示的
x
y
。因此,通过变换
z
矩阵将它们调回:

fig <- plot_ly()%>% 
  add_surface(x = s$x, y = s$y, z = t(s$z))%>%
  add_markers(data=df,x = ~x, y = ~y, z = ~z,
              marker = list(color = "blue",
                            showscale = TRUE))

fig
fig%
添加曲面(x=s$x,y=s$y,z=t(s$z))%>%
添加_标记(data=df,x=~x,y=~y,z=~z,
标记=列表(color=“蓝色”,
showscale=TRUE)
无花果
这只是一个猜测,因为
plotly
中的文档非常薄弱
akima::interp
清楚地记录了
z
行对应于不同的
x

fig <- plot_ly()%>% 
  add_surface(x = s$x, y = s$y, z = t(s$z))%>%
  add_markers(data=df,x = ~x, y = ~y, z = ~z,
              marker = list(color = "blue",
                            showscale = TRUE))

fig