gpt4 book ai didi

r - R中的布局内部布局

转载 作者:行者123 更新时间:2023-12-04 10:43:08 25 4
gpt4 key购买 nike

我正在使用 R 从使用 heatmap.2 的矩阵创建热图 - 我想将这些图像组合成一个大图像 - 我通常用来实现这一点的是 layout() - 但这不起作用,因为热图.2 使用布局,显然布局不能递归工作。

有没有人对如何在没有布局的情况下将 2 张图像组合在一起,或者如何使布局支持递归调用有任何建议?

mat = matrix(nrow=3,nrow=3,1:9)
layout(matrix(nrow=2,ncol=1))
heatmap.2(mat) ## overrides the layout and produces only one plot that takes whole screen
heatmap.2(mat) ## still only one image

谢谢。

最佳答案

接下来是一个几乎可以肯定不是完美解决方案的黑客,但它可能会让你开始。

创建您自己的版本 heatmap.2函数调用 hm3 .在 hm3 的代码中, 注释掉以下所有行:

 if (missing(lhei) || is.null(lhei))

layout称呼:
layout(lmat, widths = lwid, heights = lhei, respect = FALSE)

这是一大块代码,可能有 30 行。现在,以下代码生成两个热图,其中包含并排的树状图和键:
x  <- as.matrix(mtcars) 
lhei <- c(1.5, 4,1.5,4)
lwid <- c(1.5, 4,1.5,4)
layout(rbind(c(4,3,8,7),c(2,1,6,5)),
widths = lwid, heights = lhei, respect = FALSE)
hm3(x)
hm3(x)

enter image description here

显然,这将需要进行大量调整才能使其看起来不错(以及更大的绘图区域;我已将所有内容压缩到合理的大小以在此处发布)。

这是完全未经测试的。很可能使用 hm3 中的任何选项控制情节外观的功能会导致事情变得有点困惑。但这可能是您自己的实验来解决这些问题的一个很好的起点。

关于r - R中的布局内部布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8374705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com