分享

复现《Cell》图表:双侧柱状图及坐标轴设置|ComplexHeatmap图例设置

 TS的美梦 2022-05-24 发布于重庆

详情请联系作者:

图片

(Reference:Proteogenomic characterization of pancreatic ductal adenocarcinoma)

还是复现《cell》文章的图标,是一个对于临床特征的展示,图形是柱状图结合分组注释,图的内容比较丰富,还是比较复杂的。不知道原文作者是如何做的,这里我是结合ggplot2做柱状图,Complexheatmap做的热图注释。

从这个图要学的内容有:

1、双侧柱状图的做法及其坐标轴的设置。

2、热图其他参数在热图系列已经出现,这里学习legend的位置设置。

复现图片

注释代码及数据已上传群文件

这里作图数据一部分是结合原文给出的补充材料,一部分是我自己创造的。柱状图和热图是两个文件。首先完成柱状图的部分:

setwd("E:/生物信息学/复现Cell双向柱状图加注释")A <- read.csv("AA.csv", header = T)library(ggplot2)library(tidyverse)
A<-gather(A,key=Sample,value=value,-锘縞ase_id)A[which(A$Sample == 'Myeloid'),'value'] <- A[which(A$Sample == 'Myeloid'), 'value'] * -1

p1 <-ggplot(A,aes(锘縞ase_id,value,fill=Sample))+ geom_col()+ theme_bw()+ theme(panel.grid.major=element_blank(), panel.grid.minor=element_blank(), panel.border = element_blank(), legend.title = element_blank(), axis.text = element_text(color="black",size=10), axis.text.x = element_blank(), axis.ticks.x = element_blank(), axis.line.y = element_line(color = "black",, size=0.5))+ scale_y_continuous(breaks = seq(-10, 10, 10), labels = as.character(abs(seq(-10, 10, 10))), limits = c(-10, 10))+ labs(x='', y='')+ geom_hline(yintercept = 0,size=0.5)+ scale_fill_manual(values = c("#D08E8E","#89B9D8"))  p1

然后利用ComplexHetamap完成注释和离散热图的绘制。(也许有其他的办法能够更好的注释,但是这里我想用这个热图)

B <- read.csv("BB.csv", header = T)B1 <- B[,c(1,6)]B1 <- t(B1)B1 <- as.data.frame(B1)colnames(B1) <- B1[1,]B1 <- B1[-1,]library(ComplexHeatmap)

B2 <- B[,1:5]rownames(B2) <- B2[, 1]B2 <- B2[,-1]top_anno=HeatmapAnnotation(df=B2, border = T, show_annotation_name = T, col = list(histology_diagnosis=c('PDAC'='#006699', 'Adenosquamous carcinoma'='red')))


p2 <- Heatmap(B1, cluster_rows = F, cluster_columns = F, show_column_names = T, show_row_names = T, column_title = NULL, heatmap_legend_param = list( title='Disease\nassociation'), col = c("#1084A4", "#8D4873"), border = 'black', row_names_gp = gpar(fontsize = 12), column_names_gp = gpar(fontsize = 8), top_annotation = top_anno)

p3 <- draw(p2, heatmap_legend_side = "bottom", annotation_legend_side = "bottom",merge_legend = TRUE)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多