gpt4 book ai didi

r - R 中的热图如何调整列标签的大小?

转载 作者:行者123 更新时间:2023-12-01 22:41:16 25 4
gpt4 key购买 nike

我有一个大约有 4000 行和 100 列的 data.matrix。我正在做数据的热图,例如:

data<-heatmap(data_matrix,Rowv=NA,Colv=NA,col=cm.colors(256),scale="column",margins=c(5,10))

但我遇到的问题是列中出现的标签过于分组,因此无法正确显示它们。如何调整热图的大小以便查看列标签的值?我试图以 pdf 格式打印它,但它只出现黑色条纹。谢谢

我包括了一张热图,我想看到的部分是正确部分的标签,但它们靠得太近了。 enter image description here

最佳答案

首先,最好将输出直接放入 PDF 文件 - 您可以使用其他图像格式,但 PDF 是最好的,因为它是矢量输出,您可以随意缩放:

pdf("Your-file.pdf", paper="a4", width=8, height=8)

那么最好使用pheatmap( = pretty heatmap) 包。除了热图之外,它还使用色键制作出更好的热图。最后,尽管 pheatmap() 函数会尝试在您有很多行时减小标签大小,但对于非常多的行它会失败。因此,我将下面的代码用于非常高但不太高的行数:

library(pheatmap)   
library(gplots)
if (nrow(table) > 100) stop("Too many rows for heatmap, who can read?!")
fontsize_row = 10 - nrow(table) / 15
pheatmap(table, col=greenred(256), main="My Heatmap", cluster_cols=F,
fontsize_row=fontsize_row, border_color=NA)

您可以更改列标签的 fontsize_col。您有许多有趣的选项,例如 display_numbers 可以在热图的单元格内显示值。只需阅读 ?pheatmap

这是pheatmap()命令默认参数生成的例子:

enter image description here

最后请注意,太多的行在显示器上很容易阅读,但对于打印却毫无用处。

关于r - R 中的热图如何调整列标签的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13087555/

25 4 0