我试过这个程序:
library(rgl)
palette(rainbow(7))
s3d <- with(df, plot3d(x, y, z, col=type, radius=0.2, type="s"))
legend3d("topright", col=levels(df$type), legend=levels(df$type), cex=1)
为了更好地理解,以下是我的数据帧“df”的一些行:
x y z type
9249 -2 10 10 5
9250 -1 10 10 5
9251 0 10 10 4
9252 1 10 10 4
9253 2 10 10 4
9254 3 10 10 4
9255 4 10 10 4
9256 5 10 10 1
9257 6 10 10 3
9258 7 10 10 3
(实际上,变量“type”是 7 级别的因子)
好吧,我得到了一个OK图,其中有一个带有顶部部分的图例,但没有颜色与图例框中指示的1到7级相匹配......