在 R 中用线连接 3D 图中的所有点

问题描述 投票:0回答:1

我正在尝试制作一个 3D 图,其中所有点对将通过一条线连接。我能得到的越接近的是下面的内容(即使用

type = "b"
),但这只是绘制“路径”,它并没有连接所有的点对。有什么方法可以在
R
中做到这一点吗?

library(tidyverse)
library(plot3D)

data.frame(dim1 = rnorm(n = 20), dim2 = rnorm(n = 20), dim3 = rnorm(n = 20) ) %>%
    scatter3D(
        x = .$dim1,
        y = .$dim2,
        z = .$dim3,
        type = "b",
        pch = 20,
        xlab = "Dimension 1",
        ylab = "Dimension 2",
        zlab = "Dimension 3",
        phi = 40,
        bty = "b",
        cex = 2
        )

r plot 3d plot3d
1个回答
0
投票

一种解决方案是向

lines3D
添加多个调用,提供所有数据点对:

for(i in 1:(nrow(data) - 2)) {
  for(j in (i + 2):nrow(data)) {
    slice(data, c(i,j)) %>% 
      lines3D(x=.$dim1, y=.$dim2, z=.$dim3, add=TRUE, colkey = FALSE)
  }
}

© www.soinside.com 2019 - 2024. All rights reserved.