更改轴标签包pheatmap生成的热图的旋转

Ali*_*Ali 6 r heatmap pheatmap

包装产生的热图的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(...))
}
Run Code Online (Sandbox Code Playgroud)

我只是改变了rot = 270通过rot = 90,并hjust = 0通过hjust = 1上述功能,使用下面的命令,和它的工作:

fixInNamespace("draw_colnames","pheatmap")
Run Code Online (Sandbox Code Playgroud)

但问题是fixInNamespace()永久修改包中的函数定义.我更乐意不改变原始函数定义,而是draw_colnames()在我需要的情况下暂时替换我自己的函数定义.

有什么解决方案吗?