导入VOTU.txt , 每列为不同的样本,每行为不同的vOTU
导入分组文件,此处有两种分组方式。后续分别按颜色和形状分类
library(ggplot2)
library(vegan)
# 读取NMDS数据文件
df = read.delim("C:/Users/Shizhe Zhang/Desktop/VOTU.txt",
header = T, # 指定第一行是列名
row.names = 1 # 指定第一列是行名
)
df=t(df) # 对数据进行转置。
# 读取样本分组数据文件
dfGroup = read.delim("C:/Users/Shizhe Zhang/Desktop/分组信息.txt",row.names = 1)
# NMDS计算
dfNmds<-metaMDS(df,distance="bray",k = 2)
# 绘图前的数据整理
data = data.frame(dfNmds$points) #绘点
data$group = dfGroup$region #分组1
data$group2 = dfGroup$species #分组2
# 绘图
ggplot(data,aes(x = MDS1,
y = MDS2,
color = group,
group = group,
shape = group2,
fill = group)
)+
geom_point(size=2)+
scale_shape_manual(values=c(0,5,2,1,6,16,15))+ #设置形状
scale_fill_manual(values=c("#FF00FF","#FFFF00","#D9D500","#0000FF","#00FFFF","#007DFF","#FF00AA","#B5B200","#FF0055","#FF0000"))+ #设置颜色
scale_color_manual(values=c("#FF00FF","#FFFF00","#D9D500","#0000FF","#00FFFF","#007DFF","#FF00AA","#B5B200","#FF0055","#FF0000"))+
theme_classic()+
labs( # 在副标题处添加stress
subtitle = paste("stress=",round(dfNmds$stress,5),sep="")
)