2017-10-11 3 views
-4

J'essaye de tracer quelques données ("DAPC2") avec deux variables liées aux coordonnées dans ggplot2. Les données ressemble à ceci:Changer la couleur et ajouter la légende dans ggplot

  LD1  LD2  Locality Ecoregion 
CA2 0.9524254 -15.906715 Caldera Central_Chile 
CO4 11.4640606 3.644242 Cocholgue Araucanian 
HU2 -17.3216357 10.577911 Huinay  Chiloense 
HU4 -17.9015095 10.813084 Huinay  Chiloense 
LH1 2.5713149 -17.984544 Herradura Central_Chile 

Et mon code à ce jour est quelque chose comme ceci:

myPlot <- ggplot(DAPC2, aes(x=DAPC2$LD1, y=DAPC2$LD2)) 
myPlot + theme_bw() + theme(panel.border=element_blank(), panel.grid.major=element_blank(), panel.grid.minor=element_blank(), axis.line=element_line(colour="black")) + geom_point(alpha=0.3, col=as.integer(DAPC2$popnames.Locality), pch=as.integer(DAPC2$popnames.Ecoregion)+14, cex=6) 

D'une part, je suis en train de changer la palette de couleurs, mais je ne pouvais pas le faire étant donné le vecteur entier. Aussi, j'essaie d'inclure une légende qui montre les deux variables (c'est-à-dire la localité et l'écorégion). Aucun conseil?

+2

Pas besoin d'inclure 'DAPC2 $' dans le 'aes' de' ggplot'. – Jaap

Répondre

0

Pour ajouter de la couleur/des formes à des points dans ggplot, vous voulez ajouter de la couleur et de la forme esthétique.

Essayez

ggplot(DAPC2, aes(x=DAPC2$LD1, y=DAPC2$LD2, colour=Locality, shaoe=Ecoregion))

et supprimez toutes les instances si écorégion et localité du reste de votre code. Cela ajoutera également une légende pour la couleur et la forme.

1

Pour la partie légende, vous pouvez ajouter une extension pour la section aes.

Si vous voulez avoir une légende pour:

myPlot <- ggplot(DAPC2, aes(x=DAPC2$LD1, y=DAPC2$LD2)) 

Modification:

myPlot <- ggplot(DAPC2, aes(x=DAPC2$LD1, y=DAPC2$LD2, fill = DAPC2$Locality)) 

Si vous voulez à la fois, vous pourriez faire facet_wrap qui aura une légende avec différentes parcelles pour chaque Écorégion.

myPlot <- ggplot(DAPC2, aes(x=DAPC2$LD1, y=DAPC2$LD2, fill = DAPC2$Locality), facet_wrap(~DAPC2$Ecoregion))