[TOC]

柱状图用腻了?试试好看的弦状图

作者:郑伟 西北农林科技大学

责编:刘永鑫 中科院遗传发育所

弦图简介

总体来讲,弦图是一种可视化微生物物种或基因相对丰度的方法。平时大多数时间我们看到的文章一般都用柱状图表示微生物或者基因的相对丰度,弦图和柱状图最大的区别就在于它不仅可以用来表示微生物物种或者基因的多少,还可以用来表示环境因子和物种或者基因的相关性。之前公众号已经推送过《弦图的基础R包(circlize)的用法》,笔者今天带来的是如何利用弦图表示微生物相对丰度,如果大家用柱状图用腻了,可以用一下弦图,或许会带来耳目一新的感觉。此图主要运用R语言,所采用的R包主要为circlize。

数据准备

测试数据和代码,后台回复 circlize 获得下载链接

本文中所采用的数据为微生物的各个门的相对丰度(如选取前10或者丰度较高的门),可以加重复也可以只用各处理的平均值,数据排列如下(本人保存的是csv格式,也可以用txt格式):

代码部分

下面看R语言主要代码部分:

载入R语言包# 两个包自己用Rstudio直接安装就好

library(statnet)

library(circlize)

数据导入# setwd(...)# 自己设定工作环境,随自己喜好

# Rmd无需设置工作目录,默认为文件所有目录

data

my.data

# 手动设置行列名(可选)

rownames(my.data)

colnames(my.data)

"Deltaproteobacteria","Acidobacteria","Actinobacteria",

"Bacteroidetes","Chloroflexi","Firmicutes",

"Gemmatimonadetes","Planctomycetes","Thaumarchaeota" ,

"Verrucomicrobia","Ascomycota",  "Basidiomycota",

"Zygomycota")

# 行和列的命名,这里本人习惯手动命名,如果觉得麻烦的话也可以直接根据输入的文档中的名字自己编辑好

颜色设定grid.col = NULL

# 定义处理的颜色,这里随便选取了4个颜色,大家可以根据自己的喜好制定好看的配色

grid.col[c("CCK", "CNPK", "GCCK", "GCNPK")] = c("blue", "black", "orange", "chocolate")

# 定义微生物各个门的颜色,

grid.col[colnames(my.data)] = c("lavender", "khaki","mistyrose",

"sienna1", "skyblue", "brown1",

"gold", "maroon", "salmon", "moccasin",

"wheat","black","green","cyan","pink","orange")

画图# 参数设置

circos.par(gap.degree = c(rep(2, nrow(my.data)-1), 10, rep(2, ncol(my.data)-1), 10),

start.degree = 180)

# 出图,本人这里只用了少部分参数,所有参数见此包的help文档,或者看下文

chordDiagram(my.data,

directional = TRUE,

diffHeight = 0.06,

grid.col = grid.col,

transparency = 0.5)

# 图例制作

legend("right",pch=20,legend=colnames(my.data),

col=grid.col[colnames(my.data)],bty="n",

cex=1,pt.cex=3,border="black") # 设定图例

初期画出来的图如下,此图类似于柱状图,区域面积越大表示相对丰度越高,上面四个为处理,下面的为微生物各个门的相对丰度:

我们目前预览的图看,图例和图区严重重叠。是因为绘图区空间的限制。我们只需在图片输出时调置图片宽大于高即可解决。

保存以上图片

使用pdf函数保存以上图片。# 设置图片文件名、长宽和字体大小

pdf(file="circlize.pdf", width=8, height=5, pointsize=8)

# 上方绘图和图例代码

chordDiagram(my.data,directional = TRUE,diffHeight = 0.06,grid.col = grid.col, transparency = 0.5)

legend("right",pch=20,legend=colnames(my.data),col=grid.col[colnames(my.data)],bty="n",cex=1,pt.cex=3,border="black")

# 绘图结束后写入文件

dev.off()

现在图例和文件不再重叠。有些门的文字重叠。可以在AI排版软件中手动调整或删除一些丰度小的类别名称。

Circlize包的所有参数(个性化设置)

大家也可以根据自己的喜好调整,整个图的代码还有好多,大家可以根据自己的喜好调整,circlize包给出的所有参数代码如下:具体使用命令?chordDiagram查看chordDiagram(x, grid.col = NULL, grid.border = NA, transparency = 0.5,

col = NULL, row.col = NULL, column.col = NULL,

order = NULL, directional = 0, xmax = NULL,

symmetric = FALSE, keep.diagonal = FALSE,

direction.type = "diffHeight", diffHeight = convert_height(2, "mm"),

reduce = 1e-5, self.link = 2,

preAllocateTracks = NULL,

annotationTrack = c("name", "grid", "axis"),

annotationTrackHeight = convert_height(c(3, 2), "mm"),

link.border = NA, link.lwd = par("lwd"), link.lty = par("lty"),

link.sort = FALSE, link.decreasing = TRUE,

link.arr.length = ifelse(link.arr.type == "big.arrow", 0.02, 0.4),

link.arr.width = link.arr.length/2,

link.arr.type = "triangle", link.arr.lty = par("lty"),

link.arr.lwd = par("lwd"), link.arr.col = par("col"),

link.largest.ontop = FALSE, link.visible = TRUE,

link.rank = NULL, ...)

笔者个性化弦图

大家可以自由发挥根据自己的喜好出图,下面是本人通过个性化代码配合AI等其他软件出的例图:

作者简介

郑伟:西北农林科技大学资源环境学院,植物营养学专业。研究方向为土壤微生物生态,具体为不同施肥方式及农业措施介导下土壤微生物群落结构及功能基因在土壤养分周转及作物营养吸收方面的相互作用。曾参与国家自然科学基金,农业部公益性项目等多个项目的研究工作。目前发表科研论文近20余篇,相关研究成果以第一作者在Soil Biology Biochemistry、Biology and Fertility of Soils、European Journal of Soil Biology等土壤学领域著名期刊发表。获本专业相关专利2项。在宏基因组公众号发表《生信小白的福音——免费在线分析扩增子数据SILVAngs》、《功能预测之Tax4Fun》 、《Cytoscape:MCODE增强包的网络模块化分析》等。

猜你喜欢

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外5000+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。

学习扩增子、宏基因组科研思路和分析实战,关注“宏基因组”

包包的结构制图_科学网—R包circlize:柱状图用腻了?试试好看的弦状图 - 刘永鑫的博文...相关推荐

  1. R包circlize:柱状图用腻了?试试好看的弦状图

    文章目录 柱状图用腻了?试试好看的弦状图 弦图简介 数据准备 代码部分 载入R语言包 数据导入 颜色设定 画图 保存以上图片 Circlize包的所有参数(个性化设置) 笔者个性化弦图 作者简介 猜你 ...

  2. 服务器windows模拟linux环境,科学网—Windows不用虚拟机或双系统,轻松实现shell环境:gitforwindows - 刘永鑫的博文...

    windows缺少shell命令支持 用过Linux服务器分析数据的小伙伴,一定对Linux强大Shell命令所折服,经常会感觉windows缺少这些命令而感觉不方便. 还有想学习Linux Shel ...

  3. 包包的结构制图_原来可以用R这么画基因结构图

    gggenes是一款基于ggplot2开发的R包,可以很方便的画出下图所示的基因结构图. 1. 安装R包 直接从CRAN官方源来安装: install.packages("gggenes&q ...

  4. r语言 林元震_科学网—R语言简介 - 林元震的博文

    R既是软件,也是语言,在GNU协议General Public Licence下免费发行,是1995年由新西兰奥克兰大学统计系的Ross Ihaka和Robert Gentleman基于S语言基础上共 ...

  5. r语言做绘制精美pcoa图_科学网—R语言 PCA PCoA ggplot2 - 靳泽星的博文

    这一篇是衔接上一篇的,就是要用ggplot2程序包对PCA和PCoA进行可视化.代码我直接照搬过来了,只是绘图的时候用ggplot函数.ggplot2包实现了一个在R中基于全面一致的语法创建图形时的系 ...

  6. r语言做绘制精美pcoa图_科学网-R语言 PCA PCoA ggplot2-靳泽星的博文

    这一篇是衔接上一篇的,就是要用ggplot2程序包对PCA和PCoA进行可视化.代码我直接照搬过来了,只是绘图的时候用ggplot函数.ggplot2包实现了一个在R中基于全面一致的语法创建图形时的系 ...

  7. 计算密码子频率的代码R语言_科学网—R语言终止密码子统计 - 熊荣川的博文

    熊荣川 六盘水师范学院生物信息学实验室 #R语言终止密码子统计 setwd("**") infile = "protein1.fasta" outname = ...

  8. r语言pls分析_科学网—R语言统计:偏最小二乘路径模型(plspm) - 涂波的博文...

    R包"plspm" 作者:Gaston Sanchez 单位:Berkeley, California. 包使用说明文件:http://www.gastonsanchez.com/ ...

  9. 包包的结构制图_好看但难做的女士挎包,你看了一定会做!

    原标题:好看但难做的女士挎包,你看了一定会做! 工具&材料 成品尺寸:肩背包中心线宽度23cm.长度32cm 准备工具:裁布剪刀.手工剪刀.熨斗.蜡粉.制带器6mm.手缝针.直尺.缝纫线.绣花 ...

最新文章

  1. git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
  2. VS2019注释整段代码
  3. 全国计算机一级msoffice考试内容,2015年全国计算机一级MSOffice考试大纲
  4. high definition audio控制器感叹号_三门峡回收科霸控制器
  5. 微信公众号开发自动回复的Python库——werobot
  6. NetScaler配置只允许某个组访问桌面
  7. php_curl模拟登录有验证码实例
  8. 处理得怎么样填空词语_武都网络推广软件效果怎么样【易商网络】
  9. 财务报表分析-损益表,资产负债表,现金流,回报率
  10. 2022国二计算机office 考试考试秘籍总结大全
  11. cboard企业版源码_CBoard的部署与使用
  12. 华为盒子EC6110-T-通刷-免拆刷机固件及教程
  13. 拼多多36W+的后端面经
  14. 暗影精灵4 i5-8300H 核显驱动完美触控板声音亮度调节电池电量显示黑苹果EFI引导
  15. 软件项目经理应具备的素质和条件_IT项目经理必须具备的能力
  16. python 抓取 实时公交_Python实现命令行监控北京实时公交之一
  17. OS---Windows 7 旗舰版OEM密钥
  18. 标准更新|这次是OTA的EN301908-13即增加TRP和TRS的测试要求
  19. matlab 积分函数int
  20. 68 ping: Lacking privilege for raw socket.

热门文章

  1. 计算机专业题库,计算机专业试题大全(超级题库,答案)
  2. ppt护理文书流程图_降低护理文件书写完整率.ppt
  3. php redis实现抽奖,使用Redis完成抽奖功能
  4. B2c购物网(一) 数据库关系图
  5. 聊聊数据分析的权重思维:找女票身材 相貌 涵养?
  6. SIP和ISUP协议互通的研究
  7. Power PMAC运动控制器 —— 学习笔记2
  8. 高德离线数据api_使用离线地图-创建地图-开发指南-iOS 地图SDK | 高德地图API
  9. 计算机日常维修保养,计算机硬件的日常维护与养护
  10. 安装西门子博图一直重启_博图软件更新安装老是提示重启,咋解决啊-工业支持中心-西门子中国...