我有一个物种丰度的数据框,其中包括来自多个地理参考点的样本。我使用基于距离的方法来表示物种组成的相似性,例如:
sample <- c(1:5)
lon <- c(9,22,31,20,12)
lat <- c(20,22,30,48,53)
sp1 <- c(5,6,14,25,30)
sp2 <- c(0,0,0,3,4)
sp3 <- c(17,12,7,2,2)
sp4 <- c(1,0,2,0,1)
d <- data.frame(sample, lon, lat, sp1, sp2, sp3, sp4)
library(vegan)
library(ggplot2)
library(Rmisc)
dist <- vegdist(d[,4:7], method="euclidean")
PCoA <- as.data.frame(scores(cmdscale(dist)))
co <- ggplot(d, aes(x=lon, y=lat)) + geom_point() + ggtitle("Coordinates") + theme_bw() + geom_text(label=sample, hjust = 0, nudge_x = 0.5)
pc <- ggplot(PCoA, aes(x=Dim1, y=Dim2)) + geom_point() + ggtitle("PCoA Euclidean") + theme_bw() + geom_text(label=sample, hjust = 0, nudge_x = 0.5)
m <- matrix(1:2, byrow=T, nrow=1)
multiplot(co, pc, layout=m)
我想用坐标制作一个scaterplot,但是使用颜色来表示排序分数(即它的第1和第2轴)或至少表示距离度量(欧几里得或其他)并生成此结果: result I want
我尝试将颜色苍白联系起来,但我不知道如何为二维颜色空间(即基于我的PCoA排序)做到这一点。 有人知道怎么做吗?
答案 0 :(得分:2)
您可以使用colorplaner
库(see here):
library(colorplaner)
gg_data <- cbind(d[, c("sample","lon","lat")], PCoA[,c("Dim1","Dim2")])
ggplot(gg_data, aes(x = lon, y = lat, color = Dim1, color2 = Dim2)) +
geom_point() +
scale_color_colorplane() +
ggtitle("Coordinates") +
theme_bw() +
geom_text(label=sample, hjust = 0, nudge_x = 0.5)
这给出了: