我有一张像这样的表:
| X | Y | Z | Value |
|:---:|:---:|:---:|:-----:|
| 0.1 | 0.1 | 0.1 | A |
| 0.2 | 0.2 | 0.4 | A |
| 0.1 | 0.3 | 0.4 | B |
| 0.4 | 0.2 | 0.3 | B |
| 0.3 | 0.1 | 0.4 | C |
(大约有1000行)
值列只能获得{A,B,C}
我需要找到一种绘制此表的方法,因此它是一个3D轴(X,Y,Z),并且在每个3-cordinations中将是值/颜色。 (对于e.x. in(0.1,0.1,0.1),值为A)
有没有办法在R(或任何其他软件)中执行此操作?
答案 0 :(得分:1)
您可以使用scatterplot3d库来执行相同的操作。为了便于说明,我使用了以下数据集;在那里我代表了班级' A',' B'和' C'通过因素' 1',' 2'和' 3'分别为:
x1 = c(0.1, 0.2, 0.3, 0.19, 0.34, 0.4)
x2 = c(0.3, 0.2, 0.1, 0.23, 0.43 , 0.4)
x3 = c(0.4, 0.2, 0.1, 0.2, 0.4, 0.35)
x4 = c('A', 'B', 'C', 'A', 'B', 'A') or
x4 = c(1, 2, 3, 1, 2, 1)
data = data.frame(x1, x2, x3, x4)
library(scatterplot3d)
scatterplot3d(data$x1, data$x2, data$x3, # data
main = "3D Scatter Plot", # title
xlab = "First", # x label
ylab = "Second", # y label
zlab = "Third", # z label
#pch = data$x4, # the "fourth" column for the marks
color = data$x4, # the "fourth" column for the colours
angle = 45, # angle of the camera
)
其他库如rgl或rcmdr也很有用。