使用R,ggplot2绘制NMDS图
来源:互联网 发布:淘宝转换率2.5正常么 编辑:程序博客网 时间:2024/05/20 07:52
使用R,ggplot2绘制NMDS图
- 输入文件准备
mapping.txt :样品名与分组信息
otu.txt : otu表
文件下载 : https://github.com/tangshanshaolu/R_test.git
- 代码部分
library(vegan)library(ggplot2)pdf("nmds.pdf")otu<-read.table("otu.txt",header=T,sep="\t")rownames(otu)<-otu[,1]otu<-otu[,-1]otu<-data.frame(t(otu))map<-read.table("mapping.txt",header=F,sep="\t")sites<-as.vector(map[,1])amt<-as.vector(map[,2])sol <- metaMDS(otu)MyMeta = data.frame(sites,amt,row.names = "sites")NMDS = data.frame(MDS1 = sol$points[,1], MDS2 = sol$points[,2])#使用ggplot2画图,逐步添加P<-ggplot(data = NMDS, aes(MDS1,MDS2))+theme_bw()P+theme(panel.grid=element_blank())P+geom_point(aes(data = MyMeta,shape= MyMeta$amt, color = MyMeta$amt))P+geom_text(label=MyMeta$amt,size=3,hjust=0.5, vjust=0)P+theme(legend.key=element_rect(colour="white",fill="white",size=3,linetype="dashed"))P+theme(legend.title=element_blank())P+geom_polygon(data=MyMeta$sites,aes(fill=MyMeta$amt,alpha=0.8),show.legend=FALSE)+annotate("text",x=min(NMDS$MDS1),y=min(NMDS$MDS2),hjust=0,vjust=0,label=paste("Stress:",sol$stress))dev.off()#使用plot基础函数画图,并且添加置信圈pdf("nmds2.pdf")plot(sol$points, col = MyMeta$amt,pch=19)ordiellipse(sol, MyMeta$amt, display = "sites", kind = "se", label = T ,conf =0.95)dev.off()
- 结果显示
阅读全文
0 0
- 使用R,ggplot2绘制NMDS图
- ggplot2绘制条形图
- R ggplot2 做图
- R -ggplot2 气泡图
- R ggplot2条形图
- R ggplot2线性图
- ggplot2绘制Excel所有图
- ggplot2绘制Excel所有图
- R ggplot2画饼状图
- R ggplot2画线形图
- R ggplot2
- R语言-ggplot2柱状堆叠图
- R语言ggplot2条形图详解
- 使用ggplot2和ggalt包绘制世界地图面板
- 使用visio 绘制的e-r 图
- 使用Visio2003绘制E-R图
- 使用R包ggplot2画箱线图(boxplot)
- ggplot2绘制分面图
- 二、基本数据类型
- 系统调用
- Java并发编程之CompletionService
- 群体遗传学--Fst指数
- SQL查询最近三个月的数据(查询最近几天,几年等等)
- 使用R,ggplot2绘制NMDS图
- Effective C++解析 Item3:尽量使用const
- MYSQL 查看最大连接数和修改最大连接数
- 线下演练,解决问题,线下再次演练,线上演练
- 机器学习之神经网络
- 判断用户是手机还是邮箱然后将中间替换为***
- 两组有序数列的中位数
- 文章标题
- sql查询出一张表里重复的字段