R

时间:2016-08-05 07:32:34

标签: r plot visualization data-visualization

我有一张像这样的表:

|  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(或任何其他软件)中执行此操作?

1 个答案:

答案 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也很有用。