繁体   English   中英

R 中的 pheatmap 格式:图例大小和创建方形图

[英]pheatmap formatting in R: Legend size and creating a square plot

Pheatmap 仅在图例 = FALSE 时创建方形图。 我曾尝试使用 par() 来允许更多的 oma() 和 mar() 空间而没有运气。 这个传说也很大,我找不到任何关于减少这个或改变它的位置的文档。 第一个图没有拟合树状图,但这与尺寸问题无关。 无论聚类如何,都会发生同样的情况。 我将不胜感激任何评论

png(filename="tmpfile.png", width=1500, height=1500, res=500)
pheatmap(res, cluster_rows=FALSE, cluster_cols=FALSE, main="Default_clust", annotation=res2, color = rainbow(n, start=.7, end=.1), show_rownames=FALSE, show_colnames=FALSE, border_col=NA, fontsize=6)
dev.off()

没有图例的方形图情节有图例但不是正方形

关于方形图的问题实际上与绘制 Pearson 相关性非常相关。 我来到这里希望得到答案,最后我想出了一个手动设置单元格宽度的解决方法,例如:

pheatmap(...,     
cellheight=3, cellwidth = 3)

但我想要更好的方法。

使用建议的示例,这是我得到的:

test = matrix(rnorm(200), 20, 10)
test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3
test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2
test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4
colnames(test) = paste("Test", 1:10, sep = "")
rownames(test) = paste("Gene", 1:20, sep = "")

# Draw heatmaps
pheatmap(test, cluster_row = FALSE, legend_breaks = -1:4, legend=T, legend_labels = c("this is a     really long item", "1e-4", "1e-3", "1e-2", "1e-1", "1"))

标签和图例现在可见:

在此处输入图片说明

更改图例大小的一种方法是设置字体大小。 也就是说,pheatmap 中的图例大小与字体大小成正比。 然后,您可以独立设置行和列标签大小(fontsize_row、fontsize_col)。 这种方法的唯一问题是您的注释标签当然也会被放大或缩小,但看起来您无论如何都没有使用它们。

另外,非常确定您的热图是方形的,因为您的 png 是方形的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM