在 R 中使用颜色表示距离度量
Using colors to represent distance measures in R
我有一个物种丰度数据框,其中包括来自多个地理参考点的样本。我正在使用基于距离的排列来表示物种组成的相似性,例如示例:
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)
我想用坐标制作散点图,但使用颜色来表示排序分数(即,它是第 1 轴和第 2 轴)或至少表示距离度量(欧几里得或其他)并生成此结果:
result I want
我试图关联调色板,但我不知道如何为二维颜色关联 space(即,基于我的 PCoA 排序)。
有人知道怎么做吗?
您可以使用 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)
这给出:
我有一个物种丰度数据框,其中包括来自多个地理参考点的样本。我正在使用基于距离的排列来表示物种组成的相似性,例如示例:
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)
我想用坐标制作散点图,但使用颜色来表示排序分数(即,它是第 1 轴和第 2 轴)或至少表示距离度量(欧几里得或其他)并生成此结果: result I want
我试图关联调色板,但我不知道如何为二维颜色关联 space(即,基于我的 PCoA 排序)。 有人知道怎么做吗?
您可以使用 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)
这给出: