我正在尝试使用R和scatterplot3d来显示数据。
我已加载数据并已使用
colors <- c("#999999", "#E69F00", "#56B4E9" )
scatterplot3d(output$X2,output$X6 , output$X7 , color=colors, pch="X9")
X9是我的数据集中的标签列。它包含类别,例如&#34; ab&#34; ,&#34; cpu&#34; ,&#34; imdb&#34;等等。
通过文档:
颜色:绘图中点的颜色,如果x是合适的,则是可选的 结构体。如果highlight.3d = TRUE,将被忽略。
pch:plotting&#34; character&#34;,即要使用的符号。
但我仍然会收到此错误
scatterplot3d出错(输出$ X2,输出$ X6,输出$ X7,color = 颜色,:长度(颜色)必须等于长度(x)或1
我假设我必须为数据集中的每一列添加颜色,但创建此类数组length( colors ) = length(num of columns)
会产生相同的错误。
添加颜色的正确方法是什么?
感谢您的帮助。
答案 0 :(得分:0)
颜色少于数据点。您必须为每个点选择一种颜色。由于X9似乎是一个字符串,因此您可以使用as.factor
为每个值分配唯一的编号。
scatterplot3d(output$X2,output$X6 , output$X7 , color=colors[as.factor(output$X9)], pch=20)