7

package 生成的热图的 x 轴标签pheatmap默认旋转 270 度。我需要让它们旋转 90 度。

我跟踪了这pheatmap()​​个函数,发现有一个内部(不可见)函数会产生标签:

draw_colnames <- function (coln, ...) 
{
    m = length(coln)
    x = (1:m)/m - 1/2/m
    grid.text(coln, x = x, y = unit(0.96, "npc"), vjust = 0.5, 
              hjust = 0, rot = 270, gp = gpar(...))
}

我只是使用以下命令更改了上述函数中的rot = 270byrot = 90hjust = 0by ,并且它起作用了:hjust = 1

fixInNamespace("draw_colnames","pheatmap")

但问题是fixInNamespace()永久修改了包中的函数定义。我宁愿不改变原来的函数定义,而是临时用draw_colnames()我自己的函数定义替换函数定义,以备不时之需。

有什么解决办法吗?

4

0 回答 0