Using plot() will give you more flexibility - you can use it alone or with text() for text labels as belows (Thanks @flodel for useful comments):
col = rep(c("red","blue"),each=20) plot(CP$x[,1], CP$x[,2], pch="", main = "Your Plot Title", xlab = "PC 1", ylab = "PC 2") text(CP$x[,1], CP$x[,2], labels=rownames(CP$x), col = col)
However, if you want to use biplot() , try this code:
biplot(CP$x[1:20,], CP$x[21:40,], col=c("red","blue"))
source share