在PCA图上着色图例

时间:2014-05-18 16:48:17

标签: r plot pca

我有一个大数据矩阵,可以通过一个名为'Day'的变量进行分区,该变量从1-10开始变化,我想用它来为我的PCA绘图着色

当我使用以下代码时,这可以正常工作:

plot(pca$x,col = day,pch=20)

但是当我尝试添加一个图例,显示每种颜色指的是哪一天:

legend("topleft", pch = 20, col=day, legend = c("Day 1","Day 2","Day 3","Day 4","Day 5","Day 6","Day 7","Day 8","Day 9","Day 10"), bty='n', cex=.75)

我明白了。如何获取图例以显示图中的各个颜色?: enter image description here

2 个答案:

答案 0 :(得分:2)

您可以使用

legend("topleft", col=1:10, legend = paste("Day", 1:10),
    pch = 20, bty='n', cex=.75)

稍微清理一下。图例应仅指定您在图中使用的不同颜色。

答案 1 :(得分:1)

对于mtcars,这可行:

with(mtcars, plot(mpg, wt, col=cyl))
with(mtcars, legend("topright", pch = 20, col=unique(cyl), legend = unique(cyl)))

也许你可以用你的数据做同样的事情。

或者如果您使用ggplot2:

qplot(wt, mpg, data=mtcars, colour=factor(cyl))