跟着Nature Communications学作图 -- 复杂热图+堆积柱状图注释

已经付费加群的小伙伴无需二次付费,等待师兄后续更新即可!

d288e334129211bd698fddf619fd9618.png
封面

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

本期分享的是期刊:「Nature Communication」上面一篇文章中的一个「复杂热图+堆积柱状图」

本系列所有代码和示例数据将会和生信常用图形系列绘图放在一起,公众号右下角添加师兄微信,「付费149元」,即可加入生信绘图交流群。「群内不仅提供生信常用图形系列的代码,还会提供本系列后续所有Figure的实例数据和代码,我会在文章更新后第一时间上传。」

当然了!如果你还想白嫖,师兄的文章中代码已经写的很清楚了!但是师兄还是希望你点个赞再走呗!

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

「优惠方式:点赞+在看,并转发这两个系列任意一篇文章至朋友圈,集赞20个,即可享受¥119入群!」

1355a5e779820a2ec998efcc879ac8a0.png
参考文献

话不多说,直接上图!

读图

93c5bc3eaf32d347ac5b6f1830879267.png
原图

效果展示

2b487aecc34ec5826cc72d6aec1c3a7c.png
复现效果

本期示例数据为文章附件,大家可以通过以下链接下载:

https://static-content.springer.com/esm/art%3A10.1038%2Fs41467-022-31780-9/MediaObjects/41467_2022_31780_MOESM9_ESM.xlsx

由于ComplexHeatmap包自带的rowAnnotation柱状图注释效果有限,所以这里师兄用ggplot2绘制了左侧的堆积柱状图,最后用AI将两者拼接在一起!大家也可以自己尝试用ComplexHeatmap绘制,但是效果可能没这个好看。

R包载入和数据预处理

library(xlsx)
library(ComplexHeatmap)
library(tidyverse)
library(ggplot2)
library(circlize)
library(patchwork)
library(ggplotify)

# 读取文章附件数据:
data <- read.xlsx("41467_2022_31780_MOESM9_ESM.xlsx", sheetIndex = 1)
data <- data[-c(1:2), ]
colnames(data) <- data[1,]
data <- data[-1,]

# 数据预处理:
data_mat <- as.data.frame(table(data$Gene, data$`Abbreviation of Tumor Type`)) %>% 
  pivot_wider(names_from = Var2, values_from = Freq) %>% 
  column_to_rownames("Var1")

data_mat <- data_mat[,order(colSums(data_mat), decreasing = T)]
data_mat <- data_mat[order(rowSums(data_mat), decreasing = T),]
data_mat2 <- as.matrix(data_mat)
data_mat2[which(data_mat2 == 0)] <- NA

热图

# 基础热图:
Heatmap(data_mat2,
        na_col = "white",
        # 去掉行列聚类:
        cluster_rows = F,
        cluster_columns = F)


# 修改颜色+添加文字和描边
col_fun = colorRamp2(c(0, 5, 10, 15), c("#b4d9e5", "#91a1cf", "#716bbf","#5239a3"))

p1 <- Heatmap(data_mat2,
        col = col_fun,
        na_col = "white",
        # 去掉行列聚类:
        cluster_rows = F,
        cluster_columns = F,
        row_names_side = "left",
        # 图例
        heatmap_legend_param = list(
          title = "Frequency(%)", 
          title_position = "leftcenter",
          legend_direction = "horizontal"
        ),
        # 行名和列名:
        row_names_gp = gpar(fontsize = 10, font = 3),
        column_names_gp = gpar(fontsize = 10, font = 3),
        # 添加文字注释:
        cell_fun = function(j, i, x, y, width, height, fill) {
          if (!is.na(data_mat2[i,j])) {
            grid.text(sprintf("%1.f", data_mat2[i, j]), x, y, 
                      gp = gpar(fontsize = 10, col = "#df9536"))
            grid.rect(x, y, width, height,
                      gp = gpar(col = "grey", fill = NA, lwd = 0.8))
          }
        })

pdf("Heatmap.pdf", height = 8, width = 8)
draw(p1, heatmap_legend_side = "bottom")
dev.off()
e592b74cebccb551e08afd016c9a2c62.png
热图

堆积柱状图

# 添加左侧堆积柱状图:
data_mat3 <- as_tibble(data_mat/rowSums(data_mat)) %>% 
  pivot_longer(cols = everything(), names_to = "CancerType",
               values_to = "value")
data_mat3$Gene <- factor(rep(rownames(data_mat), each = 21), 
                            levels = rev(rownames(data_mat)))

p2 <- ggplot(data_mat3)+
  geom_bar(aes(x = Gene, y = value, fill = CancerType), 
           position = "stack", stat = "identity")+
  scale_y_continuous(labels = seq(0,100,25),position = "right")+
  ggsci::scale_fill_igv()+
  ylab("Percentage(%)")+
  theme_bw()+
  theme(panel.grid = element_blank(), 
        axis.title.y = element_blank(),
        axis.text.y = element_blank(),
        axis.ticks.y = element_blank(),
        axis.title.x = element_text(face = "bold"),
        legend.position = "bottom",
        legend.key.size = unit(0.3, 'cm'),
        legend.title=element_text(face="bold")
        )+
  labs(fill = "Tumor Type")+
  guides(fill = guide_legend(title.position = "top",
                             title.hjust = 0.5, ncol = 2, 
                             byrow = TRUE))+
  coord_flip()

p2

ggsave("Stack_Barplot.pdf", height = 8, width = 1.5)
b34bb41db4956b33473edf5c15c583eb.png
堆积柱状图

AI拼图效果展示

56fb4745c88da7995ade3ebefcfc9823.png
复现效果

往期优秀图形目录

fabb37352350d50732d4031f33cb42f5.png
渐变火山图
f8a2de58db957549693b2a538047ef51.png
相关性气泡热图
c48217092dffef6f7d4047cce325e093.png
复杂提琴图
6c9741aeff66561bd5d2ddc4d7bd6dec.png
复杂热图
87a49128e856466f3d69365a8f48ceca.png
复杂散点图
2f340fb9977ba2e04713c1eb1797387d.png 435172e4cce76e29692e09f16b94b74a.png
甘特图
8fd694f88934a23644e33e94d3c38d0a.png
复杂百分比柱状图
3f81974b28a9b6a0553f4578f475e9e9.png
箱线图美化
3f0bf2afb43bdf5d9aeab5ad4a95c3b7.png
弦图
456e79f709655a98a86eb3215219cc3c.png
mantel test相关性图
fa89dc48f41fa67bc5daa5b9525354c4.png
瀑布图
d80f90c786e1e435aed6e1fdcd956417.png
曼哈顿图
3e63a2e54cb223bc82252d14f5c8d6a3.png
Kegg富集柱状图
ac610c1880b98436c6f672d61c2e6849.png

以上内容仅为群内部分内容,不代表全部。详细目录请看下方列表!已经入群的小伙伴,无需付费购买推文,群内都会及时更新!

示例数据和代码获取

本系列「所有代码和示例数据将会和生信常用图形系列绘图」放在一起,公众号右下角添加师兄微信,「付费149元,即可加入生信绘图交流群」。群内不仅提供生信常用图形系列的代码,还会「提供本系列后续所有Figure的示例数据和代码」,我会在文章更新后第一时间上传。

当然了!如果你还想白嫖,师兄的文章中代码已经写的很清楚了!但是师兄还是希望你「点个赞再走」呗!

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

「优惠方式:点赞+在看,并转发这两个系列任意一篇文章至朋友圈,集赞20个,即可享受¥119入群!」

往期文章

  1. 跟着Nature Medicine学作图 -- 箱线+散点图

  2. 跟着Nature Communications学作图 -- 渐变火山图

  3. 跟着Nature Communications学作图 -- 气泡图+相关性热图

  4. 跟着Nature Communications学作图 -- 复杂提琴图

  5. 跟着Nature Medicine学作图 -- 复杂热图

  6. 跟着高分SCI学作图 -- 气泡火山图

  7. 跟着高分SCI学作图--复杂热图02

  8. 跟着Nature Communications学作图 -- 甘特图

  9. 跟着Nature Communications学作图 -- 双向柱状图

  10. 跟着Nature Communications学作图 -- 箱线图美化

  11. 跟着Nature Communications学作图 -- 复杂百分比柱状图

  12. 跟着Nature Communications学作图 -- 渐变柱状图

  13. 跟着高分SCI学作图 -- 复杂热图+渐变色连线

  14. 生信常用分析图形绘制01 -- 各种类型的热图你学会了吗?

  15. 生信常用分析图形绘制02 -- 解锁火山图真谛!

  16. 生信常用分析图形绘制03 -- 富集分析圈图

  17. 生信常用分析图形绘制04 -- 桑基图

  18. 生信常用分析图形绘制05 -- 弦图

  19. 生信常用分析图形绘制06 -- 富集分析分组柱状图+气泡图

  20. 生信常用分析图形绘制07 -- PCA图

  21. 生信常用分析图形绘制08--云雨图

  22. 生信常用分析图形绘制09 -- Venn图

  23. 生信常用分析图形绘制10 -- 环形互作网络图

  24. 生信常用分析图形绘制11 -- 相互作用网络图

  25. 生信常用分析图形绘制12 -- 聚类树美化

  26. 生信常用分析图形绘图13 -- 富集进阶气泡图

  27. 生信常用分析图形绘制14 -- mantel test相关性图

  28. 生信常用分析图形绘制15 -- 词云图

  29. 生信常用分析图形绘制16 -- 瀑布图

  30. 生信常用分析图形绘制17 -- 森林图

  31. 生信常用分析图形绘制18 -- 曼哈顿图

  32. 生信常用分析图形绘制19 -- KEGG分组柱状图

  33. 生信常用分析图形绘制20 -- 哑铃图

  34. 生信常用分析图形绘制21 -- 三线表绘制及美化

  35. 生信常用分析图形绘制22 -- 嵌套圈图

  36. 生信常用分析图形绘制23 -- 列线图

  37. 生信常用分析图形绘制24-- 蜂群图

  38. 生信常用分析图形绘制25 -- 箱线图+贝塞尔曲线

  39. 生信常用分析图形绘制26 -- 相关性矩阵图+矩阵散点图

  40. 生信常用分析图形绘制27 -- 交互式热图+局部放大

  41. R语言生信绘图群!轻松解决你的生信绘图问题!

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "Nature Communications"是一份由《自然》杂志集团出版发行的科研究期刊,该期刊涵盖了物理、化、生物、地球科和环境科等各个科领域。它的目标是通过开放性的出版平台促进科研究的分享和交流,以推动全球科研究的进展。 ### 回答2: ### 回答3: Nature Communications 是自然期刊集团旗下的一本高质量、高影响力的术期刊。在其官网上的介绍中,Nature Communications 被描述为一本致力于为全球术界提供高质量,跨科的研究成果发布平台的期刊。不仅如此,Nature Communications 还积极倡导科合作,为术界搭建构建一个可靠的,可持续发展的合作和交流平台。 Nature Communications 的优势在于其开放获取、同行评审的术发表过程。这一过程保证了文章的质量和可靠性,并且使得这些文章能够被全球范围内的读者免费阅读。期刊涵盖了多个科领域,包括物理、化、生物、地球与环境科等等。而每一篇文章都必须从跨领域的角度出发,提供一个新的综合性视角,从而提升文献的术价值和研究意义。 Nature Communications 拥有严格的同行评议制度,已经成为很多科家发表论文的理想平台。而随着开放获取的流行,Nature Communications 的影响力也在不断增长。根据最新统计数据,Nature Communications 的影响因子已经超过 12 分,文章被引频次逐年增长,成为者们分享研究成果的首选术期刊之一。 总之,Nature Communications 是备受欢迎的高质量术期刊,在世界范围内影响力不断扩大。作为者们交流术成果的平台,它不仅促进了术合作和创新,也进一步推动了术界的发展和进步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值