我想用scatter3d绘制3D图,但不知道如何根据第四个变量(此处为VAR4)的值对点进行着色。有人可以帮我吗?如果添加这些颜色,我仍然保留默认版本中的淡入淡出效果(3D图中越远的点显示的颜色越浅),那就太好了。谢谢!
df <- data.frame(VAR4=c(10,52,78,34,13,54),
A=c(12, 8, 10, 7, 13, 15),
B=c(4,3,2,1,7,5),
C=c(1,3,2,1,3,1))
library(rgl)
library(car)
scatter3d(A ~B + C,color=VAR4, data=df, surface=F)
答案 0 :(得分:1)
您可以尝试以下方法:
library(rgl)
library(car)
# add as group the VAR4, making as factor
scatter3d(A ~B + C, groups = as.factor(df$VAR4), data=df, surface=F)
但是,如果我能为您提供建议,那么使用plotly
软件包会更漂亮,更好:
library(plotly)
# in this case we use VAR4 as continuous, you can put color = ~as.factor(VAR4) to have it as factors
plot_ly(df, x = ~A, y = ~B, z = ~C, color = ~VAR4) %>%
add_markers() %>%
layout(scene = list(xaxis = list(title = 'A'),
yaxis = list(title = 'B'),
zaxis = list(title = 'C')))