R 使用“3D散点图”着色的问题;plot3D";

R 使用“3D散点图”着色的问题;plot3D";,r,plot3d,R,Plot3d,我正在尝试使用plot3D软件包创建三维散点图。不幸的是,我在为每个点指定颜色时遇到了麻烦 例如,当我尝试在绘图上绘制8个点时,我想将“黑色”分别指定给前4个点,“红色”分别指定给后4个点,我编写了以下脚本(在这个脚本中,我使用了样本数据集iris中的8个样本,并试图分别将Sepal.Length、Petal.Length、Sepal.Width分配到X、Y、Z轴) 数据(iris) 9月1日您看到6个黑色和2个红色的原因是colvar在您的scatter3D调用中丢失了col用于着色 在您的示

我正在尝试使用
plot3D
软件包创建三维散点图。不幸的是,我在为每个点指定颜色时遇到了麻烦

例如,当我尝试在绘图上绘制8个点时,我想将“黑色”分别指定给前4个点,“红色”分别指定给后4个点,我编写了以下脚本(在这个脚本中,我使用了样本数据集
iris
中的8个样本,并试图分别将
Sepal.Length
Petal.Length
Sepal.Width
分配到X、Y、Z轴)

数据(iris)

9月1日您看到6个黑色和2个红色的原因是
colvar
在您的
scatter3D
调用中丢失了
col
用于着色

在您的示例中,颜色基于z轴。为了演示,我们可以添加回
colkey
,添加
ticktype
以查看轴信息,并稍微旋转一点以显示红色应用于
sep.w
(z轴)中超过3.45的值,其中仅包括数据中的2个值(3.6和3.9)

你可以考虑另一个向量<代码> Calva/Cord>,这对你的点着色来说是有意义的;只要确定它与X、Y和Z数据的长度相同。

data(iris)
sep.l <- iris[1:8,]$Sepal.Length
pet.l <- iris[1:8,]$Petal.Length
sep.w <- iris[1:8,]$Sepal.Width


library(plot3D)
scatter3D(x=sep.l, y=pet.l, z=sep.w,
pch =19,
bty = "b2",
colkey= FALSE,
col=c(rep("black", 4), rep("red", 4)))

data(iris)

sep.l <- iris[1:8,]$Sepal.Length
pet.l <- iris[1:8,]$Petal.Length
sep.w <- iris[1:8,]$Sepal.Width

library(plot3D)

scatter3D(x = sep.l, y = pet.l, z = sep.w,
          pch = 19,
          bty = "b2",
          colkey = TRUE,
          phi = 15,
          theta = 30,
          col=c(rep("black", 4), rep("red", 4)),
          ticktype = "detailed"
          )
scatter3D(x = sep.l, y = pet.l, z = sep.w,
          pch = 19,
          bty = "b2",
          colkey = FALSE,
          phi = 15,
          theta = 30,
          col=c(rep("black", 4), rep("red", 4)),
          ticktype = "detailed",
          colvar = c(rep(1, 4), rep(2, 4)))