当前位置: 首页 > news >正文

网站建设用苹果系统与liunx/品牌营销策划与管理

网站建设用苹果系统与liunx,品牌营销策划与管理,物业网站宣传册怎么做,家用宽带怎么做网站 访问作者:朱微金 李陈浩堆叠柱状图连线画法提出问题18年1月29日宏基因组转载了中科院生态中心邓晔组的文章《土壤细菌定量方法结合相对丰度分析揭示种群的真实变化 》。其中的图3基于堆叠柱状图,添加组间各成分连线,可以更容易的观察和比较组间的…

作者:朱微金 李陈浩

堆叠柱状图连线画法提出问题

18年1月29日宏基因组转载了中科院生态中心邓晔组的文章《土壤细菌定量方法结合相对丰度分析揭示种群的真实变化 》。其中的图3基于堆叠柱状图,添加组间各成分连线,可以更容易的观察和比较组间的变化。如下图:

0dbac0ca72b51ae80720d6eb73470e3e.png

我在很多文章中也见过,一直没有学会具体的做法。这回正好身边的人会做,就问了一个作者,结果回复是origin画的,有个选项就可以添加组间连线。

现在方法是有了,不过我还是喜欢用R来画图,因为每一个细节的修改都落实的代码上,可见可重复。

而窗口操作类的软件,操作过程是不容易被记录的,别人也很难重复。

我下午将此问题放在了宏基因组0讨论群中,问是否有R包或现成的函数一句话实现在堆叠图中添加组间连线。

获取专业解答

李陈浩老师首先説写两句R就搞定。可是以我的R水平,虽然学过R in action,还只是会按帮忙使用包,修改代码的水平,很难写代码实现想法。

同时李海敏、沈伟等几位老师,也提供了众多解决方案,如ggalluvial,这个更炫酷,功能过于强大,我会在下一次分享中把中文笔记和使用心得带给大家。

1bf62ee67b60e56ad0bb85a62768dbc5.png

到了晚上,新加坡的李陈浩老师己经将我要的需求帮助写好了,大赞。如下,我略微修改并注释:

# 绘图包、数据清洗、表格宽转长

library(ggplot2)

library(tidyverse)

library(reshape2)

# 读生一个测试数据宽表格

df=data.frame(

Phylum=c("Ruminococcaceae","Bacteroidaceae","Eubacteriaceae","Lachnospiraceae","Porphyromonadaceae"),

GroupA=c(37.7397,31.34317,222.08827,5.08956,3.7393),

GroupB=c(113.2191,94.02951,66.26481,15.26868,11.2179)

)

# melt转换为长表格为ggplot2绘图通用格式

# geom_segment添加直线和曲线,arrange按门水平名称字母降序排列;cumsum先将数值累计,再用mutate取代;现在己有两组间的高度位置,再设置X轴位置1.25, 1.75, 和Y位置

ggplot(melt(df), aes(x=variable, y=value, fill=Phylum)) +

geom_bar(stat = "identity", width=0.5, col='black') +

geom_segment(data=df %>% arrange(by=desc(Phylum)) %>% mutate(GroupA=cumsum(GroupA)) %>% mutate(GroupB=cumsum(GroupB)), aes(x=1.25, xend=1.75, y=GroupA, yend=GroupB))

fb85cf6247bcc4817d4e5b771a159f77.png

有模板改参数我喜欢

即然有了画两组的模板,仔细读一读代码,改成三组的应该不难,代码如下:

# 画三个组间比较

# 读生一个测试数据宽表格

df=data.frame(

Phylum=c("Ruminococcaceae","Bacteroidaceae","Eubacteriaceae","Lachnospiraceae","Porphyromonadaceae"),

GroupA=c(37.7397,31.34317,222.08827,5.08956,3.7393),

GroupB=c(113.2191,94.02951,66.26481,15.26868,11.2179),

GroupC=c(123.2191,94.02951,46.26481,35.26868,1.2179)

)

# melt转换为长表格为ggplot2绘图通用格式

# geom_segment添加直线和曲线,arrange按门水平名称字母降序排列;cumsum先将数值累计,再用mutate取代;现在己有两组间的高度位置,再设置X轴位置1.25, 1.75, 和Y位置

ggplot(melt(df), aes(x=variable, y=value, fill=Phylum)) +

geom_bar(stat = "identity", width=0.5, col='black') + theme_classic()+

geom_segment(data=df %>% arrange(by=desc(Phylum)) %>% mutate(GroupA=cumsum(GroupA)) %>% mutate(GroupB=cumsum(GroupB)), aes(x=1.25, xend=1.75, y=GroupA, yend=GroupB))+

geom_segment(data=df %>% arrange(by=desc(Phylum)) %>% mutate(GroupB=cumsum(GroupB)) %>% mutate(GroupC=cumsum(GroupC)), aes(x=2.25, xend=2.75, y=GroupB, yend=GroupC))

# 添加theme_classic()修改主题样式,这个经典主题我更喜欢

# x和xend分别为起始和终止,1,2组间X值起始分别为1.25和1.75,2,3组间则为2.25和2.75

b111eab747a437f2b6b55a3fc8dc8898.png

此图比较适合展示时间序列、梯度变化有规律的连续组。因为只能连接相临的组,需要大家想好谁和谁比较很重要。对于需要全部两两比较是无法实现的。

最后感谢万能的宏基因组微信讨论群,我让认识了大家,总在我有困难时,大家无私的帮助我。谢谢你们!

希望我也能尽快成长为小牛,有更多的能力帮忙别人。

猜你喜欢

写在后面

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

7bc52bb07b08e5e9b742c8f28088edc7.png

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

http://www.lbrq.cn/news/1587853.html

相关文章:

  • qml 网站开发/备案查询站长工具
  • 网站制作里的更多怎么做/seo1视频发布会
  • 阿里巴巴的网站怎么做的/搜索引擎优化搜索优化
  • 160 作者 网站建设 amp/aso搜索排名优化
  • wordpress企业主题模板下载/长春seo排名
  • b2c旅游电子商务网站有哪些/南昌seo排名扣费
  • 禅城区企业网站建设/seo怎么做优化排名
  • 展览策划/关键词优化简易
  • 成都市网站设计开发/今日军事新闻最新消息
  • 太原做网站设计/免费seo网站推广
  • 广州黄埔网站建设公司/深圳网站制作推广
  • 内江网站建设/十大经典事件营销案例
  • 不更新网站如何做排名/十大推广app平台
  • 哪个商城网站建设好/一键优化清理加速
  • 网站模板超市/优化
  • 商城网页设计html和css代码/seo在线优化工具 si
  • 建设一个旅游电子商务网站/网络营销以什么为中心
  • 帮别人做彩票网站吗/线下营销推广方式有哪些
  • 佛山建设专业网站/百度seo报价方法
  • 网站建设优化文档/网站制作多少钱
  • 网站 优化 日志/淘宝指数查询工具
  • 信息流广告是什么意思?/推广关键词如何优化
  • 小说网站的里面的搜索是怎么做的/app平台搭建需要多少钱
  • 泰州网页制作/郑州seo管理
  • 做宠物网站还有前景嘛/网销是什么工作好做吗
  • 路桥贝斯特做网站好吗/微营销推广方案
  • 网站怎么做社区营销/百度广告电话号码是多少
  • wordpress离线发布/网络优化工程师吃香吗
  • 两学一做教育纪实评价系统网站/软件排名优化
  • 武陵天下网站建设/发帖百度秒收录网站分享
  • 聚水潭API数据接口开发手机端网页查询商品仓位库位库存工具,支持扫描识别,预览图片
  • OpenCv对图片视频的简单操作
  • 探究 ASGI 的技术优势:现代 Web 开发的新方向
  • 网站、域名、IP在什么场景下需要备案
  • PPT自动化 python-pptx - 11 : 备注页 (Notes Slides)
  • AI Agents漏洞百出,恶意提示等安全缺陷令人担忧