跟着Nature Metabolism学作图:R语言ggplot2水平堆积柱形图并添加同组连线

论文

Single-cell profiling of vascular endothelial cells reveals progressive organ-specific vulnerabilities during obesity

https://www.nature.com/articles/s42255-022-00674-x#Sec58

s42255-022-00674-x.pdf

https://github.com/Osynchronika/sc_EC_obesity_atlas

大部分 作图的数据都有,可以试着用论文中提供的数据复现一下论文中的图

今天的推文我们复现一下论文中的figure2b 水平堆积柱形图并添加连线

image.png

示例数据如下

image.png

读取数据

library(readxl)
library(tidyverse)
dat<-read_excel("data/20230207/figure2b.xlsx")  
dat

指定因子水平和配色

x_levels<-c("Prolif","EC-art","EC-cap1","EC-cap2",
            "EC-lymph1","EC-lymph2","EC-ven","EC-venule","EC-ang")

fill.colors<-c("#f09004","#e30528","#f5aaad","#ef7b64","#7ec7bd",
               "#63b32f","#527dbf","#8eb1de","#de2080")

堆积柱形图的代码

width<-0.4

dat %>% 
  pivot_longer(!group) %>% 
  mutate(name=factor(name,levels = c("Western","chow"))) %>% 
  mutate(group=factor(group,levels = rev(x_levels))) %>% 
  ggplot(aes(x=value,y=name))+
  geom_bar(aes(fill=group),
           stat="identity",
           position = "fill",
           width = width)+
  scale_fill_manual(values = rev(fill.colors)) -> p1

p1

image.png

计算添加线段的位置坐标

dat[match(x_levels,dat$group),] %>% 
  mutate(x1=cumsum(chow/sum(chow)),
         x2=cumsum(Western/sum(Western))) -> new.df

在p1的基础上添加线段并整体美化

p1+
  geom_segment(data=new.df,
               aes(x=x1,xend=x2,y=2-width/2,yend=1+width/2),
               lty="dashed",
               color="gray",
               size=1)+
  theme_classic()+
  scale_x_continuous(position = "top",
                     expand = expansion(mult=c(0,0)),
                     breaks = seq(0,1,by=0.1),
                     labels=c(0,"",20,"",40,"",60,"",80,"",100))+
  theme(axis.ticks.y = element_blank(),
        panel.grid.major.x = element_line(),
        axis.title = element_blank(),
        plot.title = element_text(hjust=0.5),
        axis.text.y = element_text(face="bold",size=25),
        legend.title = element_blank())+
  labs(title="Percentage of cells per cluster")

image.png

论文中的Figure2d也是同样的图,可以自己试试用上面的代码是否能够做出来

这个整体的配色也挺好看的,可以作为自己论文配色的备选

示例数据和代码可以给推文点赞,然后点击在看,最后留言获取

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。


因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

四、AI大模型商业化落地方案

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值