学术资讯 » 学术资源

  • 首 页
  • 期刊选题
  • 期刊点评
  • 期刊大全
  • 学人博客
  • 编辑征稿
  • 投稿选刊
  • 万维群组
  • 学术会议
  • 万维读书
  • SCI/E期刊
  • SSCI期刊
  • AHCI期刊
  • 复现《Cell》图表:双侧柱状图及坐标轴设置|ComplexHeatmap图例设置

    阅读: 2022/5/26 8:40:46

    还是复现《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)

    最后就是组合,还是强烈建议使用AI组合吧,很方便!

    转自:KS科研分享与服务

    如有侵权,请联系本站删除!


    浏览(454)
    点赞(0)
    收藏(0)
  • 上一篇:什么是课题研究的对象?为什么研究对象必须唯一?

    下一篇:微软新版Edge浏览器真不错!!!

  • 首页

  • 文章

  • 期刊

  • 帮助

  • 我的

版权所有 Copyright@2023    备案号:豫ICP备2021036211号