在R heatmap中移动颜色键.2(gplots包的功能)

29 r heatmap color-key gplots

我现在阅读了热图2帮助手册,并且在各种在线教程中我没有读到关于将颜色键移动到不同位置的方法.现在,我想知道它是否可能?

如果您使用gplots包中的heatmap.2函数,默认情况下颜色键位于左上角.

Ian*_*ery 66

在每个元素的位置heatmap.2曲线图可以使用被控制lmat,lheilwid参数.这些传递heatmap.2layout命令:

layout(mat = lmat, widths = lwid, heights = lhei)
Run Code Online (Sandbox Code Playgroud)

lmat是一个描述屏幕如何被分解的矩阵.默认情况下,heatmap.2将屏幕划分为四元素网格,因此lmat是2x2矩阵.矩阵的每个元素中的数字描述了绘制下四个图的顺序.Heatmap.2按以下顺序绘制其元素:

  1. 热图,
  2. 行树状图,
  3. 柱树形图,

所以默认lmat是:

> rbind(4:3,2:1)
     [,1] [,2]
[1,]    4    3
[2,]    2    1
Run Code Online (Sandbox Code Playgroud)

例如,如果要将键放在热图下方,则应指定:

> lmat = rbind(c(0,3),c(2,1),c(0,4))
> lmat
     [,1] [,2]
[1,]    0    3
[2,]    2    1
[3,]    0    4
Run Code Online (Sandbox Code Playgroud)

lwid并且lhei是指定每行和每列的高度和宽度的向量.c(1.5,4)两者都是默认值.如果你改变了,lmat你或者不得不或者可能想要改变它们.对于上面的示例,如果我们想要保持所有其他元素的大小相同,但是想要在底部使用细颜色键,我们可能会设置

>lwid = c(1.5,4)
>lhei = c(1.5,4,1)
Run Code Online (Sandbox Code Playgroud)

然后我们准备绘制热图:

>heatmap.2(x,...,lmat = lmat, lwid = lwid, lhei = lhei)
Run Code Online (Sandbox Code Playgroud)

这将绘制热图,热图上方的列树形图,左侧的行树形图和下方的键.不幸的是,密钥的标题和标签是硬编码的.

看到?layout有关如何更多的细节layout工作.