2013-11-25 4 views
3

Как добавить идентификатор образца (номер строки) в качестве меток в каждую точку на этом участке LDA с использованием ggplot2?График линейного дискриминантного анализа с использованием ggplot2

Благодаря

Сценарий:

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() 

ответ

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) 

Может быть, вы должны играть вокруг немного с hjust и vjust, которые являются частью geom_text , Вы также можете посмотреть на пакет directlabels для размещения смарт-меток.

enter image description here

Смежные вопросы