跟着高分SCI学做图

跟着Nature Communications学作图 -- 复杂

2023-03-26  本文已影响0人  生信师兄
跟着Nature Communication学作图 -- 复杂百分比柱状图.png

从这个系列开始,师兄就带着大家从各大顶级期刊中的Figuer入手,从仿照别人的作图风格到最后实现自己游刃有余的套用在自己的分析数据上!这一系列绝对是高质量!还不赶紧点赞+在看,学起来!

本期分享的是Nature Communication上面一篇文章中的一个美化的箱线图

参考文献

话不多说,直接上图!

读图

原图

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

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

效果展示

效果展示

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

数据构建

# 加载R包:
library(ggplot2)

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

# 查看数据:
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.05, 0.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)  

结果展示

结果展示

示例数据和代码获取

跟着Nature Com学作图 -- 复杂百分比柱状图

以上就是本期的全部内容啦!欢迎点赞,点在看!师兄会尽快更新哦!制作不易,你的打赏将成为师兄继续更新的十足动力!

往期文章

  1. 跟着Nature Medicine学作图--箱线图+散点图
  2. 跟着Nature Communications学作图--渐变火山图
  3. 跟着Nature Communications学作图--气泡图+相关性热图
  4. 跟着Nature Communications学作图 -- 复杂提琴图
  5. 跟着Nature Communications学作图 -- 复杂热图
  6. 跟着Nature Communications学作图--复杂散点图
上一篇下一篇

猜你喜欢

热点阅读