• 全国 [切换]
  • 二维码
    富博农业

    手机WAP版

    手机也能找商机,信息同步6大终端平台!

    微信小程序

    微信公众号

    当前位置: 首页 » 行业新闻 » 热点新闻 » 正文

    跟着Nature Communications学作图:R语言ggplot2气泡图组合水平柱形图完整示例

    放大字体  缩小字体 发布日期:2020-01-29 16:04:31   浏览次数:1189  发布人:cfd1****  IP:61.145.64.***  评论:0
    导读

    论文Pan-African genome demonstrates how population-specific genome graphs improve high-throughput sequencing data analysishttps://www.nature.com/articles/s41467-022-31724-3 本地pdf s41467-022-31724-3.pdf

    论文

    Pan-African genome demonstrates how population-specific genome graphs improve high-throughput sequencing data analysis

    https://www.nature.com/articles/s41467-022-31724-3

    本地pdf s41467-022-31724-3.pdf

    论文中公布了大部分图的数据,但是没有公布对应的作图代码,没有关系,我们可以自己写代码试着模仿,今天的推文重复一下论文中的Figure 2D 的下半部分




    image.png

    首先是右侧的气泡图

    部分示例数据截图




    image.png

    读取数据并作图代码

    library(readxl) dat01<-read_excel("data/20220806/fig2d.xlsx", sheet = "Sheet1") library(tidyverse) library(stringr) dat01 %>% pivot_longer(-var) %>% mutate(value=replace_na(value,"B")) -> new.dat01 library(ggplot2) ggplot(data=new.dat01,aes(x=name,y=var))+ geom_point(size=15,aes(color=value), show.legend = FALSE)+ geom_segment(data=data.frame(x=7:11, xend=7:11, y=6, yend=5:1), aes(x=x,y=y,xend=xend,yend=yend), color="#68c3a6",size=3)+ scale_color_manual(values = c("A"="#68c3a6", "B"="#d3d3d3"))+ geom_rect(data = data.frame(xmin=0.5, xmax=11.5, ymin=c(0.5,2.5,4.5), ymax=c(1.5,3.5,5.5)), aes(xmin=xmin,xmax=xmax,ymin=ymin,ymax=ymax), fill="#f6f6f6", alpha=0.5, inherit.aes = FALSE)+ geom_point(data=new.dat01,aes(x=name,y=var,color=value), size=15, show.legend = FALSE)+ geom_segment(data=data.frame(x=7:11, xend=7:11, y=6, yend=5:1), aes(x=x,y=y,xend=xend,yend=yend), color="#68c3a6",size=3)+ theme_void() -> p1 p1


    image.png

    这里遇到了一个问题是 想把条状的灰色背景放到最底层,正常是把作图函数写到最前面就可以了,但是因为添加条状背景是连续数据,气泡图是离散数据,写到前面会报错,写到后面就没有这个问题,暂时不知道什么原因。这里的解决办法是有叠加了一层气泡图和线段的函数

    水平柱形图的代码

    部分示例数据集截图




    image.png

    dat02<-read_excel("data/20220806/fig2d.xlsx", sheet = "Sheet2") dat02 ggplot(data=dat02,aes(x=var,y=value))+ geom_hline(yintercept = 10,lty="dashed", color="#d3d3d3")+ geom_col(fill="#68c3a6")+ geom_text(aes(label=paste0(value,"M")),hjust=1)+ coord_flip()+ scale_y_reverse(expand=expansion(mult = c(0.4,0)), breaks=c(0,10), labels=c(0,"10M"))+ scale_x_discrete(position = "top")+ theme_classic()+ theme(axis.line.y = element_blank(), axis.ticks.y = element_blank())+ labs(x=NULL,y="Total size") -> p2 p2


    image.png

    最后是拼图代码

    library(patchwork) p2 + p1 + plot_layout(widths = c(1,3))


    image.png

    背景的浅色灰色条不知道如何跨越两个图,这里是出图后编辑图片实现的

    示例数据和代码可以 给公众号推文打赏一元获取

    欢迎大家关注我的公众号

    小明的数据分析笔记本

    小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

    不推荐电脑端访问(用户少)
    请微信扫一扫,查看完整信息(记得微信收藏)
     
    (文/匿名(若涉版权问题请联系我们核实发布者) / 非法信息举报 / 删稿)
    打赏
    免责声明
    • 
    本文为昵称为 cfd1**** 发布的作品,本文仅代表发布者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,发布者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们154208694@qq.com删除,我们积极做(权利人与发布者之间的调停者)中立处理。郑重说明:不 违规举报 视为放弃权利,本站不承担任何责任!
    有个别老鼠屎以营利为目的遇到侵权情况但不联系本站或自己发布违规信息然后直接向本站索取高额赔偿等情况,本站一概以诈骗报警处理,曾经有1例诈骗分子已经绳之以法,本站本着公平公正的原则,若遇 违规举报 我们100%在3个工作日内处理!
    0 条相关评论
     

    福博农产品采购网 (c)2008-现在 foubo.com All Rights Reserved.