【视频课程13】跟着Nature Com学作图 -- 渐变柱状图

Page content

【视频课程13】跟着Nature Com学作图 – 渐变柱状图 by 生信师兄

封面

「生信常用分析图形系列」「跟着高分SCI绘图系列」从2021年10月份至今已经一年半的时间啦!在此期间师兄不仅总结更新的很多生信常用的图形绘制代码,也带着大家从各大顶级期刊中的Figuer入手,从仿照别人的作图风格到最后实现自己游刃有余的套用在自己的分析数据上!可以说是绝对的高质量,因此也受到了广大粉丝的青睐。与此同时,师兄的「「R语言生信绘图群」」,也从「最开始的0人逐渐到了现在的4群即将满员(即将达到2000名学员)」

但是只提供示例数据和代码,对于很多小白来说还是很难上手的,「如何准确地理解每个图的意义,精准地掌握师兄的每一行代码,并且更加灵活地应用于自己的数据中?」 这才是众多小白更迫切需要的内容!于是,师兄准备开始录制「高分SCI图表复现系列配套的视频教程」,以帮助大家更好地将师兄的代码发挥出最大的价值!

本系列课程特价仅售「¥399元(原价¥499元)」,此外,购买本课程的小伙伴还可同时获得「「生信常用分析图形系列」」「「跟着高分SCI绘图系列」」两个系列的所有代码和示例数据(包含既往已经更新,和后续即将更新的部分)。大家「购买后请务必扫码加师兄微信」,师兄会及时拉群哦!

课程大纲

课程大纲

长按识别二维码购课(拼团有优惠哦!)

长按识别二维码购课

付费群学员福利:

已经加入生信师兄【R语言生信绘图群1-4群】的小伙伴可「直接优惠¥179元,扫码添加师兄微信后领取专属优惠券!」

「声明」
  • 「本课程内容自动包含R语言绘图群所有内容」,购买本课程的小伙伴无需再额外购买R语言绘图群内容,也无需关注R语言绘图群价格变动,示例数据和代码将在文章更新后同步更新!
师兄微信

本期图形

参考文献

本期分享的是Nature Communication上面一篇文章中的一个「渐变柱状图」

话不多说,直接上图!

读图

原图

这张图理解起来没什么复杂的,但是有些细节还是值得大家好好学习的,例如:

  • 图例位置的调整
  • 主题的调整:网格线、边框颜色、坐标轴刻度、坐标轴字体等
  • 注释添加

效果展示

复现效果

本次复现完美的解决了上述所有难点,且均通过R语言完成!大家可以放心食用!

数据构建

# 加载R包:
library(ggplot2)

# 构建示例数据:
data <- data.frame(
  Gene = paste0("Cancer"1:21),
  Log2FC = c(runif(15, -0.5,0), runif(600.5)),
  "Log10qvalue" = c(runif(613),runif(1501)))

# 查看数据:
head(data)
#      Gene      Log2FC Log10qvalue
# 1 Cancer1 -0.18511148    2.634901
# 2 Cancer2 -0.13808342    1.939038
# 3 Cancer3 -0.30934002    2.632905
# 4 Cancer4 -0.04036049    1.911711
# 5 Cancer5 -0.04722910    1.024237
# 6 Cancer6 -0.18350572    1.759855

绘图代码

ggplot(data)+
  # 竖线:
  geom_hline(yintercept = c(-log2(1.2), -log2(1.5)), 
             color = "grey", linetype = "dotted")+
  # 柱状图
  geom_col(aes(x = reorder(Gene, Log2FC), y = Log2FC, fill = Log10qvalue),
           color = "grey")+
  # 黑线:
  geom_hline(yintercept = 0, color = "black")+
  # 渐变颜色填充:
  scale_fill_gradientn(name="-Log10_\nq-value"# 修改图例标题
                       colours = c("#f6fafd""#c8dfef""#6fa6d1""#2c49a2"),
                       breaks = 0:3,
                       labels = paste0(0:3".0"))+
  
  # 坐标轴标题:
  xlab("")+
  ylab("Log2FC(9p21-Loss vs .9p21-WT)")+
  # 增大边缘柱形与边框的距离
  scale_x_discrete(expand = c(0.050.05))+
  # 注释:
  annotate(geom = "text", y = -0.5, x = 21, label = "FC<-1.2")+
  # 标题:
  ggtitle("TCR shannon entroy")+
  # 坐标轴翻转:
  coord_flip()+
  # 主题:
  theme_light()+
  theme(panel.grid = element_blank(),  # 去掉网格线
        plot.title = element_text(hjust = 0.5, face = "bold"), # 标题居中、字体
        axis.ticks.y = element_blank(), # 去掉y轴刻度线
        axis.title.x = element_text(size = 10),  # x轴标题大小
        axis.text.y = element_text(size = 10),  # y轴刻度大小
        panel.border = element_rect(color = "black"),
        legend.position=c(0.9,0.1), legend.justification=c(1,0))  # 图例位置

# 保存
ggsave("barplot.pdf", height = 5, width = 4)  

结果展示

复现效果

本期视频


原文链接