如何使用ComplexHeatmap更改单元格尺寸?

时间:2018-03-17 20:28:32

标签: r heatmap

我尝试使用ComplexHeatmap在R中创建热图。我使用下面的代码部分来创建热图:

Heatmap(gsea.heatmap.df,
         cluster_rows = FALSE,
         cluster_columns = FALSE,
         show_row_dend = FALSE,
         show_column_dend = FALSE,
         col = colorRamp2(c(-1, 0, 1), c("red", "white", "blue")),
         heatmap_legend_param = list(color_bar = "continuous",
                                     at = c(0, -0.1, -0.2, -0.3, -0.4, -0.5, -0.6, -0.7, -0.8, -0.9, -1),
                                     labels = c("1", "0.9", "0.8", "0.7", "0.6", "0.5", "0.4", "0.3", "0.2", "0.1", "0")))

结果热图可以在下面看到:

ComplexHeatmap heatmap

然而,热图的每个单元的尺寸都被拉长。我试图找到用于控制每个单元格尺寸的参数,但我无法找到它。理想情况下,我想让每个细胞都成为完美的正方形。有没有办法让我轻松改变热图中细胞的尺寸?

2 个答案:

答案 0 :(得分:0)

默认情况下适合图像允许的宽度,可以在调整大小时更改。我不相信ComplexHeatmap的开发人员已经让用户控制每个单元格的宽度。您可以使用width参数来控制单个热图的宽度,以查看是否有帮助。但我怀疑当你调整情节大小时会有所不同。

答案 1 :(得分:0)

只需完成De Novo的答案,

  

默认情况下,它适合图像允许的宽度,可以随着您调整大小而改变。

这是ComplexHeatmap的documentation中给出的建议:

  

在由ComplexHeatmap生成的热图中,所有热图组件均具有绝对大小,并且只有热图主体的大小(或单元格的大小)是可变的(换句话说,如果您更改最终图形的大小)设备,例如,通过拖动图形窗口(如果绘制),仅调整热图主体的大小),这意味着整个图的大小与热图中的行数或列数成线性关系。这意味着我们实际上可以拟合线性模型y = a*x + b,例如y是整个图的高度,x是行数。