2017-08-28 2 views
-2

Ich zeichne einen PC-Plot mit ggplots. Ich weiß, dass diese Frage in einigen früheren Posts beantwortet wurde, aber ich konnte mein Problem immer noch nicht lösen. ich einen Datensatz haben Tab genannt, die die Ausgabe von PCA istText Annotation zu einem Graphen in ggplot

 sample.id   pop   EV1   EV2 
    HT185_MK8-2.sort.bam HA_27 -0.03796869 0.046369552 
    HT48_SD1A-37.sort.bam HA_14 0.04208393 0.032961404 
    HT53_IA1A-10.sort.bam HA_1 -0.02580365 0.005262476 
    HT260_MK1-4.sort.bam HA_20 -0.06090545 0.005578504 
    HT170_SD2W-14.sort.bam HA_17 0.01288395 0.012117833 
    Q093_MK7-13.sort.bam HA_26 0.06310162 0.188558067 

Ich möchte Etiketten in der Handlung auf jeden Punkt an, Thesen Punkte sind Individuen aus verschiedenen Populationen. Also möchte ich ihnen ihre Populations-ID geben (Pop-Spalte im Datensatz). Ich verwende etwas dieses

ggplot(data=tab,aes(EV1,EV2, label=tab[,2])) + geom_point(aes(color=as.factor(pop))) + ylab("Principal component 2") + xlab("Principal component 1") 

Aber ich meine gewünschte Ausgabe nicht bekommen. Das ist mein PC-Plot! Also könnte mir jemand helfen, Population Label auf jedem Punkt in der Handlung hinzuzufügen! Dank enter image description here

+2

Was haben Sie unternommen, um Etiketten hinzuzufügen? Welche Frage hast du versucht zu beantworten und wo wurdest du verwirrt? – Gregor

Antwort

2

Versuchen geom_text:

geom_text(aes(label=as.character(pop)),hjust=0,vjust=0) 

Sehen Sie sich auch in plotly suchen oder einen Schwellenwert auf den Etiketten einstellen, da jeder Punkt Beschriftung zu einem sehr gedrängten Grundstück führen wird, und wahrscheinlich sehr wenig zusätzliche nützliche Informationen .