我现在已经阅读了 heatmap.2 帮助手册几次,并且在各种在线教程中我也没有读到有关将颜色键移动到不同位置的方法。 现在,我想知道这是否可能?
如果您使用 gplots 包中的 heatmap.2 函数,则颜色键默认位于左上角。
最佳答案
heatmap.2
中每个元素的位置可以使用 lmat
控制绘图, lhei
和lwid
参数。这些通过heatmap.2
传递到layout
命令为:
layout(mat = lmat, widths = lwid, heights = lhei)
lmat
是一个描述屏幕如何分解的矩阵。默认情况下,heatmap.2 将屏幕划分为四元素网格,因此 lmat
是一个 2x2 矩阵。矩阵每个元素中的数字描述了绘制接下来的四个图的顺序。Heatmap.2 按以下顺序绘制其元素:
- 热图,
- 行树状图,
- 柱状 TreeMap ,
- key
所以默认lmat
是:
> rbind(4:3,2:1)
[,1] [,2]
[1,] 4 3
[2,] 2 1
例如,如果您想将 key 放在您指定的热图下方:
> lmat = rbind(c(0,3),c(2,1),c(0,4))
> lmat
[,1] [,2]
[1,] 0 3
[2,] 2 1
[3,] 0 4
lwid
和lhei
是指定每行和列的高度和宽度的向量。默认为c(1.5,4)
对彼此而言。如果你改变lmat
您必须或可能也想更改这些。对于上面的例子,如果我们想让所有其他元素保持相同的大小,但想要在底部有一个细的颜色键,我们可以设置
>lwid = c(1.5,4)
>lhei = c(1.5,4,1)
然后我们准备绘制热图:
>heatmap.2(x,...,lmat = lmat, lwid = lwid, lhei = lhei)
这将绘制一个热图,列树状图位于热图上方,行树状图位于热图左侧,键位于热图下方。不幸的是, key 的标题和标签是硬编码的。
参见?layout
有关如何操作的更多详细信息layout
有效。
关于r - 在 R heatmap.2 中移动颜色键(gplots 包的功能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15351575/