向信息图添加信息

时间:2019-07-03 10:14:07

标签: r heatmap pheatmap

我有这个数据

line_tab<-                

    elements   scaffold  start    end Lengths        A           B        C        D                      E                     F                 G                  
  BovB_1297  KQ417326.1    763   2186    1423 0.1565491 0.02291220 1.9857781  1.4346243          2.81754891            1.23339700         1.0394839
  BovB_3317  KQ416600.1 660334 661626    1292 0.0000000 0.02523534 0.0000000  0.1934799          0.11710299            0.06318396         0.0000000
  BovB_5130  KQ418760.1 327212 328873    1661 0.0000000 0.00000000 0.0265819  0.0000000          0.02277198            0.03686048         0.0000000
  BovB_6215  KQ417629.1 339534 340586    1052 0.0000000 0.00000000 0.8394018  1.2277020          0.43145549            0.34919346         0.2685752
  BovB_9578  KQ420742.1 157232 158657    1425 0.0000000 0.00000000 0.0000000  0.0000000          0.02654334            1.00251877         0.0000000
  BovB_9976  KQ423592.1  30989  32425    1436 0.0000000 0.02270478 0.4612034  0.3191430          0.13170009            0.24160383         0.1388863

然后我使用此代码使用pheatmap创建了一个热图

  pheatmap(log10(line_tab+1), color = col.pal.red, 
           fontsize = 8, cluster_cols = FALSE, cluster_rows= FALSE, cellwidth = 15, cellheight = 5, 
           fontsize_row = 5, main = "LINEs length")

但是我想在我的热图上添加更多信息。 我试图在每行附近添加一个图例,该图例显示每个“元素”的“长度”列。 你能建议我怎么做吗?

1 个答案:

答案 0 :(得分:0)

如果我的理解正确,您想将标签添加到热图的每一行。然后,您可以使用labels_row的参数pheatmap()

library(pheatmap)
library(RColorBrewer)

pheatmap(log10(line_tab[, -(1:2)] + 1), 
    color = colorRampPalette(rev(brewer.pal(n = 7, name ="Oranges")))(100),
    fontsize = 8, cluster_cols = FALSE, cluster_rows= FALSE, 
    cellwidth = 15, cellheight = 5, 
    fontsize_row = 5, main = "LINEs length",
    labels_row = line_tab$Lengths, 
    filename = "heat_map.png", heigh = 1.75, width = 2.8)

enter image description here

请让我知道这是否是您需要获得的东西。

请注意,pheatmap(log10(line_tab+1),...)不起作用,因为pheatmap()需要数字矩阵。这就是为什么我不得不排除前两列。