详情请联系作者:
图片
(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)
|