根据 R 中的列值自动为 3D 散点图点分配颜色
Auto-assign a colour to a 3D scatterplot point based on column value in R
我有一个名为 db_cluster
的 n x 4 矩阵。我想绘制矩阵中的 3-D 点,并根据矩阵第 4 列(我们称之为 'cluster')中的值为这些点分配颜色。
我在网上找到的大部分信息都手动为每个列值分配了一种颜色(即,如果一列中有 3 个唯一数据,它们将为每个值分配红色、蓝色、绿色。
我的 'cluster' 列中有 18 个唯一值,因此手动将每个值分配给一种颜色是不可行的。有没有办法自动为值分配颜色并绘制它?
顺便说一句,我正在使用 plot3d。
plot3d(db_cluster)
假设您的数据如下所示:
db_cluster <- matrix(sample(10, 40, TRUE), ncol = 4)
db_cluster
#> [,1] [,2] [,3] [,4]
#> [1,] 10 5 6 9
#> [2,] 4 5 4 5
#> [3,] 5 2 9 5
#> [4,] 9 1 5 3
#> [5,] 8 10 3 9
#> [6,] 10 2 2 2
#> [7,] 10 3 3 9
#> [8,] 8 5 2 6
#> [9,] 9 5 10 4
#> [10,] 5 4 3 7
那么你可以这样做:
rgl::plot3d(x = db_cluster[,1],
y = db_cluster[,2],
z = db_cluster[,3],
col = db_cluster[,4], size = 10)
我有一个名为 db_cluster
的 n x 4 矩阵。我想绘制矩阵中的 3-D 点,并根据矩阵第 4 列(我们称之为 'cluster')中的值为这些点分配颜色。
我在网上找到的大部分信息都手动为每个列值分配了一种颜色(即,如果一列中有 3 个唯一数据,它们将为每个值分配红色、蓝色、绿色。
我的 'cluster' 列中有 18 个唯一值,因此手动将每个值分配给一种颜色是不可行的。有没有办法自动为值分配颜色并绘制它?
顺便说一句,我正在使用 plot3d。
plot3d(db_cluster)
假设您的数据如下所示:
db_cluster <- matrix(sample(10, 40, TRUE), ncol = 4)
db_cluster
#> [,1] [,2] [,3] [,4]
#> [1,] 10 5 6 9
#> [2,] 4 5 4 5
#> [3,] 5 2 9 5
#> [4,] 9 1 5 3
#> [5,] 8 10 3 9
#> [6,] 10 2 2 2
#> [7,] 10 3 3 9
#> [8,] 8 5 2 6
#> [9,] 9 5 10 4
#> [10,] 5 4 3 7
那么你可以这样做:
rgl::plot3d(x = db_cluster[,1],
y = db_cluster[,2],
z = db_cluster[,3],
col = db_cluster[,4], size = 10)