更改颜色并在ggplot中添加图例

Change color and add legend in ggplot

我正在尝试绘制一些数据 ("DAPC2"),其中两个变量链接到 ggplot2 中的坐标。数据如下所示:

         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

到目前为止我的代码是这样的:

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)

一方面,我正在尝试更改调色板,但是我无法在给定整数向量的情况下执行此操作。此外,我试图包括一个显示两个变量(即地点和生态区)的图例。有什么建议吗?

要向 ggplot 中的点添加 colour/shapes,您想要添加颜色和形状美学。

尝试

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

并从您的其余代码中删除所有实例 if Ecoregion 和 Locality。这还将为颜色和形状添加图例。

对于图例部分,您可以为 aes 部分添加扩展名。

如果你想要一个图例:

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

更改为:

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

如果你想要两者,你可以做 facet_wrap 这将有一个图例以及每个生态区的不同地块。

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