包pheatmap
生成的热图的x轴标签默认旋转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 = 270
更改为rot = 90
并hjust = 0
更改为hjust = 1
,并且它有效:
fixInNamespace("draw_colnames","pheatmap")
但问题是fixInNamespace()
会永久修改包中的函数定义。我更乐意不改变原始函数定义,而是在我需要的情况下暂时用我自己的函数替换draw_colnames()
函数的定义。
有没有解决方案?