r - 使用 ggplot2 的线性判别分析图

标签 r ggplot2

如何使用 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()   

最佳答案

您只需要使用 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)

也许你需要和 hjust 一起玩玩和 vjust ,它们是 geom_text 的一部分.您可能还想查看 directlabels用于智能标签放置的包装。

enter image description here

关于r - 使用 ggplot2 的线性判别分析图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20197106/

相关文章:

r - 带有四分之一虚拟变量的线性回归

r - 在ggplot中用大于等于标注

r - 阻止 ggplot2 中的文本标签重叠

删除R中列中字符后的所有内容

r - 如何从文本文件中提取第一行?

r - 从列表列表中提取某些元素

r - 如何用丝带和线条组合和修改ggplot2图例?

r - rmarkdown 表的单个单元格中的多行

r - geom_col 分配了错误的自变量

r - 有没有办法在ggplot中将x轴设置为最小值和最大值?