我尝试使用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")))
结果热图可以在下面看到:
然而,热图的每个单元的尺寸都被拉长。我试图找到用于控制每个单元格尺寸的参数,但我无法找到它。理想情况下,我想让每个细胞都成为完美的正方形。有没有办法让我轻松改变热图中细胞的尺寸?
答案 0 :(得分:0)
默认情况下适合图像允许的宽度,可以在调整大小时更改。我不相信ComplexHeatmap的开发人员已经让用户控制每个单元格的宽度。您可以使用width
参数来控制单个热图的宽度,以查看是否有帮助。但我怀疑当你调整情节大小时会有所不同。
答案 1 :(得分:0)
只需完成De Novo的答案,
默认情况下,它适合图像允许的宽度,可以随着您调整大小而改变。
这是ComplexHeatmap的documentation中给出的建议:
在由ComplexHeatmap生成的热图中,所有热图组件均具有绝对大小,并且只有热图主体的大小(或单元格的大小)是可变的(换句话说,如果您更改最终图形的大小)设备,例如,通过拖动图形窗口(如果绘制),仅调整热图主体的大小),这意味着整个图的大小与热图中的行数或列数成线性关系。这意味着我们实际上可以拟合线性模型
y = a*x + b
,例如y
是整个图的高度,x
是行数。