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

R 如何使用ComplexHeatmap更改单元格尺寸?,r,heatmap,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

我正在尝试使用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的开发者已经让用户控制了每个单元格的宽度。您可以使用
width
参数来控制单个热图的宽度,看看这是否有帮助。但我怀疑当你调整绘图的大小时,它会有所不同。

只是为了完成De Novo的回答


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

这是ComplexHeatmap中给出的建议:

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