我正在尝试在R中绘制3d曲面,但是当X和Y的值均为正时,似乎在for循环中出现了问题。
这是一个非常简单的函数,用于for循环,但是我没有看到一个错误,但最终表面仍然与假定的表面不同(在这种情况下为正常平面)。我可能会想念什么吗?
.txt
感谢您的帮助!
答案 0 :(得分:1)
您的循环应使用seq_along(x)
和seq_along(y)
而不是x
和y
:
library(ggplot2)
library(plotly)
x = seq(-5,5)
y = seq(-5,5)
fxy = matrix(0,length(y),length(x))
dim(fxy)
result = function(x,y){
x+y
}
for (j in seq_along(y)) {
for (i in seq_along(x)) {
fxy[i,j] = result(x[i],y[j])
}
}
fig = plot_ly(z = ~fxy, x = x, y=y)
fig = fig %>% add_surface()
fig