如何调整热图的边距?
How to adjust margins of a heatmap?
我需要调整热图的边距(尤其是顶部和左侧)。
我已经踢掉了颜色键和标题,因为它们使用了我的大部分 space。但现在我只剩下空白 space。我的照片 top/left 不需要那个。我正在使用 heatmap2
。我在 heatmap2 中使用了边距,在图片之前使用了 par-margin。但我不确定它们是如何相互作用的。此外,我将图片保存在 svg 中,并在此处也定义了 weight/height。
svg("mypic.svg", width=20, height=16)
par(mar=c(1,10,0.1,10))
heatmap.2(mat_data_round,
key = F,
cellnote = note,
notecol="black",
density.info="none",
trace="none",
margins =c(7,14),
col=colfun,
dendrogram="row",
Colv="NA",
cexRow=2,
cexCol=2)
我期望的是不显示 white/blank space.
来源
代码(主要)灵感来自
https://de.wikipedia.org/wiki/Datei:Gdp_to_debt_ratio.svg
我尝试调整和更新这样的东西。
解决方案
与提议的解决方案有一点冲突。我必须删除 main
才能使其正常工作。以下代码删除了树状图功能,这很好。行和列标签是可读的,具有我最终 svg 的预定义宽度和高度。非常感谢
svg("myheatmap.svg", width=20, height=16)
heatmap.2(mat_data_round,
key = F,
dendrogram = "none",
trace = "none",
cellnote = note,
notecol="black",
col=colfun,
Colv="NA",
lwid = c(0.2,5),
lhei = c(0.2,5),
margins =c(7,14),
cexRow=2,
cexCol=2)
您必须使用 lhei
和 lwid
参数指定页边距。使用 lhei
可以将边距大小传递到下方和上方,使用 lwid
可以将边距大小传递到右侧和左侧。
更精确:
您的布局是一个包含 4 个单元格的矩阵:1. 热图,2. 键,3. 行树状图,4. 列树状图。使用 lhei
可以指定两行的大小,使用 lwid
可以指定两列的大小。
library(gplots)
data(mtcars)
x <- as.matrix(mtcars)
lwid=c(0.2,5) #make column of dendrogram and key very small and other colum very big
lhei=c(0.2,5) #make row of key and other dendrogram very small and other row big.
heatmap.2(x,
key = F,
dendrogram = "none",
trace = "none",
lwid = lwid,
lhei = lhei)
我需要调整热图的边距(尤其是顶部和左侧)。
我已经踢掉了颜色键和标题,因为它们使用了我的大部分 space。但现在我只剩下空白 space。我的照片 top/left 不需要那个。我正在使用 heatmap2
。我在 heatmap2 中使用了边距,在图片之前使用了 par-margin。但我不确定它们是如何相互作用的。此外,我将图片保存在 svg 中,并在此处也定义了 weight/height。
svg("mypic.svg", width=20, height=16)
par(mar=c(1,10,0.1,10))
heatmap.2(mat_data_round,
key = F,
cellnote = note,
notecol="black",
density.info="none",
trace="none",
margins =c(7,14),
col=colfun,
dendrogram="row",
Colv="NA",
cexRow=2,
cexCol=2)
我期望的是不显示 white/blank space.
来源
代码(主要)灵感来自
https://de.wikipedia.org/wiki/Datei:Gdp_to_debt_ratio.svg
我尝试调整和更新这样的东西。
解决方案
与提议的解决方案有一点冲突。我必须删除 main
才能使其正常工作。以下代码删除了树状图功能,这很好。行和列标签是可读的,具有我最终 svg 的预定义宽度和高度。非常感谢
svg("myheatmap.svg", width=20, height=16)
heatmap.2(mat_data_round,
key = F,
dendrogram = "none",
trace = "none",
cellnote = note,
notecol="black",
col=colfun,
Colv="NA",
lwid = c(0.2,5),
lhei = c(0.2,5),
margins =c(7,14),
cexRow=2,
cexCol=2)
您必须使用 lhei
和 lwid
参数指定页边距。使用 lhei
可以将边距大小传递到下方和上方,使用 lwid
可以将边距大小传递到右侧和左侧。
更精确:
您的布局是一个包含 4 个单元格的矩阵:1. 热图,2. 键,3. 行树状图,4. 列树状图。使用 lhei
可以指定两行的大小,使用 lwid
可以指定两列的大小。
library(gplots)
data(mtcars)
x <- as.matrix(mtcars)
lwid=c(0.2,5) #make column of dendrogram and key very small and other colum very big
lhei=c(0.2,5) #make row of key and other dendrogram very small and other row big.
heatmap.2(x,
key = F,
dendrogram = "none",
trace = "none",
lwid = lwid,
lhei = lhei)