在Plotly中绘制和添加曲面的问题

时间:2019-02-19 14:53:46

标签: r charts 3d plotly surface

我是R新手,目前尝试将我的数据绘制在带有表面的3d图表中。我尝试过使用该程序包,但失败了。

我有一个矩阵d3(请参见下文),但是在图中(请参见以下链接),z或x等于矩阵中的数据。在图中,x始终等于1,z是计数数字。

我需要更改代码什么?

也许是我如何创建矩阵?

d3 <- data.matrix(mydataframe[1:3])
View(d3)
         z         y         x
[1,] 75.33333 1566.6667 0.2727273 
[2,] 76.66667 1585.6667 0.2788845
[3,] 75.33333 1462.6667 0.2384615
[4,] 77.66667 1340.6667 0.2489796
[5,] 75.66667 1328.3333 0.3658537
[6,] 83.33333 1315.6667 0.3459716
[...] ...

plot_ly(z = ~d3) %>% add_surface()

这是我失败的Plotly 3d图的一个示例 plot1

如果有人对如何绘制三个变量的表面与软件包的绘制有所不同,我真的很感激。

这是3d回归的示例,我想用相同的颜色显示数据 plot2

干杯。

1 个答案:

答案 0 :(得分:1)

z应该是一个矩阵。您可以使用outer,如下所示:

x <- seq(0, 8, length.out=100)
y <- seq(0, 3, length.out=30)
z <- t(outer(x, y, FUN=function(x,y) 5/3*y + 4*exp(-(x-4)^2)))

library(plotly)
plot_ly(x=x, y=y, z=z) %>% 
  add_surface() %>%
  layout(
    scene = list(
      xaxis= list(title="X"),
      yaxis= list(title="Y"),
      aspectmode = 'manual', 
      aspectratio = list(x=1, y=1, z=.5)
    )
  )

enter image description here