我是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图的一个示例
如果有人对如何绘制三个变量的表面与软件包的绘制有所不同,我真的很感激。
这是3d回归的示例,我想用相同的颜色显示数据
干杯。
答案 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)
)
)