首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R热图中移动色键。2( gplots软件包的功能)

在R热图中移动色键。2( gplots软件包的功能)
EN

Stack Overflow用户
提问于 2013-03-12 09:10:30
回答 2查看 41.2K关注 0票数 32

我现在已经阅读了Hotmap.2帮助手册几次了,而且在各种在线教程中,我也没有读到将颜色键移动到不同位置的方法。现在,我想知道这是否可能?

如果您使用的是gplots软件包中的heatmap.2函数,则颜色键默认位于左上角。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-12 22:56:49

可以使用lmatlheilwid参数控制heatmap.2图中每个元素的位置。这些代码由heatmap.2传递给layout命令,如下所示:

代码语言:javascript
复制
layout(mat = lmat, widths = lwid, heights = lhei)

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

  • Key

  1. 热图、
  2. 行树形图、
  3. 列树形图

因此,默认lmat为:

代码语言:javascript
复制
> rbind(4:3,2:1)
     [,1] [,2]
[1,]    4    3
[2,]    2    1

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

代码语言:javascript
复制
> lmat = rbind(c(0,3),c(2,1),c(0,4))
> lmat
     [,1] [,2]
[1,]    0    3
[2,]    2    1
[3,]    0    4

lwidlhei是指定每行和每列的高度和宽度的向量。两者的默认值均为c(1.5,4)。如果你改变了lmat,你要么不得不改变,要么也可能想要改变它们。对于上面的示例,如果我们想让所有其他元素保持相同的大小,但又想在底部设置一个较细的颜色键,我们可以设置

代码语言:javascript
复制
>lwid = c(1.5,4)
>lhei = c(1.5,4,1)

然后,我们准备绘制热图:

代码语言:javascript
复制
>heatmap.2(x,...,lmat = lmat, lwid = lwid, lhei = lhei)

这将绘制一个热图,热图上面是列树状图,左边是行树形图,下面是键。不幸的是,键的标题和标签是硬编码的。

有关layout工作原理的更多详细信息,请参阅?layout

票数 76
EN

Stack Overflow用户

发布于 2013-03-12 09:41:25

heatmap.2相当长的代码中,有一些由par调用定义的特定区域,我没有看到它的原始作者或这些部分的任何“修订者”,尽管他们有时会访问R-help。主要绘图尺寸由2元素向量margins设置。以下是您可能需要进行更改的一些地方:

代码语言:javascript
复制
#1) 
if (!missing(RowSideColors)) {
    par(mar = c(margins[1], 0, 0, 0.5))
    image(rbind(1:nr), col = RowSideColors[rowInd], axes = FALSE)

#2)
if (!missing(ColSideColors)) {
    par(mar = c(0.5, 0, 0, margins[2]))
    image(cbind(1:nc), col = ColSideColors[colInd], axes = FALSE)

#3)
par(mar = c(margins[1], 0, 0, margins[2]))

#4)
par(mar = c(margins[1], 0, 0, 0))

#5)
par(mar = c(0, 0, if (!is.null(main)) 5 else 0, margins[2]))

#6
if (key) {
    par(mar = c(5, 4, 2, 1), cex = 0.75)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15351575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档