打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
复现《nature communications》图表(三):画样本时间轴图(堆叠柱状图)

这篇NC文章的figureS2展现的是样本的信息图,官方的说法是样本时间序列图,很多临床样本在SCI文章中的展示都是采用这种形式。但是这个图并不仅仅可以用于临床样本的展示,在实践中,做动物的,不同时间点做处理的也可以考虑这样做,重点是自己动脑子。

那么如何实现这个图呢?我们看本质,这个图的本质是柱状图,所以从这里入手,再修饰。画图还是用ggplot2。

由于文章中没有提供具体数据,所以我自己虚构了数据,主要是为了演示。

setwd("D:/生物信息学")A <- read.csv("A.csv",header = T)library(ggplot2)library(paletteer)

首先,画基本柱状图,将两部分柱状图画出来!

p <- ggplot(A, aes(x=end, y=Sample,fill=stage)) + geom_bar(stat="identity",position="stack")+ scale_fill_manual(values = c("#FF6633","#3366CC"))+ labs(title = "Asymptomatic", y="", x = "Time (Days)")+ theme(panel.background =element_blank())+ theme(axis.line=element_line(colour="black", size = 0.5)) p

之后,再用geom_point将点加入到柱状图上!

p1 <- p+ geom_point(aes(x=mRNA, y=Sample), color="#3da742", size=3.5, shape=21,stroke = 2,fill="yellow") geom_point(aes(x=protein, y=Sample),color="red",size=3.5, shape=24,stroke = 2,fill="grey")p1

但是做到这里这个图形还是与文章不同,好像是坐标轴和字体,我们进行修改下,将y轴靠近柱状图,最终效果如下。

p2 <- p1 + theme(axis.title = element_text(face = "bold"), plot.title = element_text(face = "bold"), legend.title = element_text(face = "bold"))+ scale_x_continuous(limits = c(0,60),expand = c(0,0))+ theme(axis.text.x = element_text(size = 10))+ theme(axis.text.y = element_text(size = 12))p2

最终有一个问题没有解决,那就是legend,不能像文章中那样,点和柱状图分开,目前只能手动修饰,不知道有么有好的办法,欢迎提供建议!!!

最后,我想升华下本章的内容,第一是R画图点的形状复习,这是最基本的,但是小编在操作中有些忘记了,所以翻了书本,先将其截图记忆一下!

第二,我发现2020年的cell文章主图中也有这种图,可见这种题的常用性。可以模拟这篇文章的数据将这个内容学习一遍,深入理解!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ggplot2绘图学习笔记分享
小有所成题目一答案:nature高水平组组合图形绘制
手把手教你R语言绘制“火山图”
一个对策,告别多图慎点!
绘制单组和多组柱状图
森林图之初体验
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服