R 如何调整热图的边距?
我需要调整热图的边距(特别是在顶部和左侧) 我已经踢出了颜色键和标题,因为它们占用了我的大部分空间。但现在,我留下了空白。我不需要在我的照片的左上方。我使用的是R 如何调整热图的边距?,r,heatmap,margins,R,Heatmap,Margins,我需要调整热图的边距(特别是在顶部和左侧) 我已经踢出了颜色键和标题,因为它们占用了我的大部分空间。但现在,我留下了空白。我不需要在我的照片的左上方。我使用的是heatmap2。我在热图2中使用了边距,在图片前使用了标准边距。但我不确定它们是如何相互作用的。此外,我将图片保存在svg中,并在此处定义重量/高度 svg("mypic.svg", width=20, height=16) par(mar=c(1,10,0.1,10)) heatmap.2(mat_data_round,
heatmap2
。我在热图2中使用了边距,在图片前使用了标准边距。但我不确定它们是如何相互作用的。此外,我将图片保存在svg中,并在此处定义重量/高度
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)
我希望不会显示空白/空白
来源
该代码(主要)受
我试着调整和更新这样的东西
解决方案
与提议的解决方案有一点冲突。我不得不删除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)
库(gplots)
数据(mtcars)
你需要保留一个树状图吗?树状图的根对于图片来说不是必需的。它们可以被压缩或删除(如果有帮助的话)。这很完美:)下次我将使用mtcar数据作为MWE。我还有一个问题。热图.2
看起来很完美,但我不能再保存图像了?上面写着“数字边距太大”这很奇怪。。很明显,我可以保存它,因为你在答案中看到了,实际上我们没有改变利润率。尝试dev.off()
重置边距设置dev.off()
没有帮助。我试过你的mtcars密码,它起作用了。与我的初始设置还有另一个冲突。我尝试使用margins=c(7,14)
等不同的组合。这是一个常见的问题。你会发现很多问题。你会找到解决办法的。检查这里。