代码之家  ›  专栏  ›  技术社区  ›  pali

如何在Complexheatmap包中进行分色

  •  0
  • pali  · 技术社区  · 8 年前

    我正在尝试使用complexheatmap包创建一个heatmap。除了我在整个情节中只能看到黑色之外,一切都在进行。我认为适当的分色可以解决这个问题,但我不知道如何解决:(

    #load required libraries
     library(extrafont)
     #font_import() # only one time required when first time use the      library       extrafont
     #y
     fonts() 
     loadfonts()
     library(ComplexHeatmap)
     library(circlize)
    
      #upload expression data
      #heatdata<- read.table("probe.expression",header=TRUE,row.names=1)
      dim(heatdata)
      head(heatdata)
    
    #scale row
    rm <- rowMeans(heatdata)
    sx <- apply(heatdata, 1, sd)
    zz <- sweep(heatdata,1,rm)
    zz <- sweep(zz, 1, sx, "/")
    zzz <- t(scale(t(heatdata)))
    
    
    Heatmap(zzz, 
    name = "Color key", # legend title
    rect_gp = gpar(col = "black"), # cell border
    column_title = "Tissue",
    column_title_side = "top",
    row_title = "Genes",
    row_title_side = "left",
    clustering_distance_rows = "pearson", #"euclidean", "maximum", "man-
                                      #hattan", "canberra", "binary", "minkowski", #"pearson",                             #"spearman", "kendall"                                 
    row_dend_side = "left",  #should the row cluster be put on the left or right of the heatmap?
     #row_name_side = "right",  #should the row cluster be put on the left or right of the heatmap?
    show_row_names = FALSE,
    column_dend_height = unit(3,"cm"),
    show_column_dend = FALSE,
    show_column_names= FALSE,
    #bottom_annotation = ha,
    #bottom_annotation_height = unit(1, "cm"),
    col = colorRamp2(c(-2, 0,10),c("green","black", "red"))
    
    )
    

    min(zzz)
    

    虽然

    max(zzz)
    

    9.238137 .我的最终情节如下

    enter image description here

    可以找到测试数据 HERE

    1 回复  |  直到 8 年前
        1
  •  1
  •   Zuguang Gu    8 年前

    我认为您应该删除“rect_gp=gpar(col=“black”)”,因为我猜您在矩阵中有许多行,如果设置了边框颜色,颜色将主要由单元格边框覆盖。