使用ggplot2绘制线性判别分析图

4

如何使用ggplot2将样本ID(行号)作为标签添加到此LDA图中的每个点?

谢谢。

脚本:

require(MASS)
require(ggplot2)
data(iris)

irisLda <- lda(iris[,-5],iris[,5])


irisLda <- lda(Species~.,data=iris)
plot(irisLda)       
irisProjection <- cbind(scale(as.matrix(iris[,-5]),scale=FALSE) %*% irisLda$scaling,iris[,5,drop=FALSE])
p <- ggplot(data=irisProjection,aes(x=LD1,y=LD2,col=Species))
p + geom_point()   
1个回答

4

您只需要使用 geom_text

irisProjection$row_num = 1:nrow(irisProjection)
p <- ggplot(data=irisProjection, aes(x=LD1,y=LD2,col=Species)) + 
       geom_point() + geom_text(aes(label = row_num))
print(p)

也许您需要稍微调整一下 `geom_text` 中的 `hjust` 和 `vjust`。您还可以查看 `directlabels` 包以获取智能标签放置方案。 enter image description here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接