Pheatmap仅在legend = 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()
答案 0 :(得分:2)
关于平方图的问题实际上与绘制Pearson相关性非常相关。我来到这里希望得到一个答案,最后我想出了一个解决方法,可以手动设置像元宽度,例如:
pheatmap(...,
cellheight=3, cellwidth = 3)
但是我想要一个更好的方法。
答案 1 :(得分:1)
使用建议的例子,这就是我得到的:
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"))
附图是我得到的。标签和图例是可见的。 http://i.stack.imgur.com/JGVdc.png
答案 2 :(得分:0)
更改图例大小的一种黑客方法是设置字体大小。也就是说,pheatmap中的图例大小与fontsize成比例。然后,您可以单独设置行和列标签大小(fontsize_row,fontsize_col)。这种方法唯一的问题是你的注释标签当然也会被放大或缩小,但看起来你还没有使用它们。
另外,非常确定你的热图是方形的,因为你的png是方形的。