r - 在 R 中使用不同的 x、y、z 颜色和长度绘制 4D 绘图

标签 r 4d plot3d

我有一个 30 x 16 x 9 矩阵,我想通过 R 中的 4 维图将其可视化。 我已经在 plot3dscatterplot3d 包中尝试了 scatter3D()

      x <- seq(10, 300, 10)
      y <- seq(5.0, 20.0, 1.0)
      z <- c(seq(0.5, 4, 0.5), 10)
      scatter3D(x, y, z, colvar = data)

它总是给出错误,指出y应该与x具有相同的长度。 我该如何处理这个问题?为什么xyz的长度必须相等?这样很不方便。

最佳答案

发生这种情况是因为该图的每个点必须具有三个值。您有 30 个 x 值、16 个 y 值和 9 个 z 值。使用此数据,只有前 9 个点具有 x-y-z 值。在您问题的评论中,eipi10对此给出了很好的解释。例如,另一种方法是对数据进行插值以创建缺失值。 More about data interpolation .

library("plot3D")
number_of_points <- 50
xx <- seq(10, 300, 10)
yy <- seq(5.0, 20.0, 1.0)
zz <- c(seq(0.5, 4, 0.5), 10)

xx <- approx(x = xx, method="linear", n=number_of_points, ties = mean)$y
yy <- approx(x = yy, method="linear", n=number_of_points, ties = mean)$y
zz <- approx(x = zz, method="linear", n=number_of_points, ties = mean)$y

scatter3D(xx, yy, zz)

希望对你有帮助!

关于r - 在 R 中使用不同的 x、y、z 颜色和长度绘制 4D 绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50398121/

相关文章:

python - 连接外显子序列并在其间插入 Ns

matlab - Matlab 中的 4D 可视化(曲面和网格)

r - 与 R 中的plot3D包重叠标签

r - 在 R 中使用 plot3D {rasterVis} 在同一窗口中显示多个 3d 图

list - 如何在 R 中处理分层数据结构中的数据?

r - R : return NA if node is missing 中的 XPath

c++ - 如何使用 Rcpp 将 R 函数转换为 C++ 函数?

matrix - 如何在 4 个维度上旋转?

c++ - CPP - 未处理的异常 std::bad_alloc

r - 在plot3D中强制/编辑轴值