在heatmap.2中的add.expr中将参数传递给函数

时间:2013-08-28 20:50:16

标签: r line scope heatmap

我正在使用heatmap.2函数(R gplots包)生成聚类热图。我想使用add.expr参数在可变位置向图像添加垂直线。

例如,

xx=replicate(10, rnorm(10)) # some random matrix
heatmap.2(xx, trace="none",
          add.expr=abline(v=c(3.5,6.5), lwd=3))

这很有效。问题是如果我将行位置作为变量传递它不起作用:

linePosition = c(3.5,6.5)
heatmap.2(...,
          add.expr=abline(v=linePosition, lwd=3))

看起来abline函数是从heatmap.2函数内部调用的,并没有看到外部变量。

请建议什么是最好的方法。

当然,我不想修改除我自己以外的任何功能。

1 个答案:

答案 0 :(得分:2)

这似乎添加了两条粗线:

heatmap.2(xx,
       add.expr=eval( abline(v=linePosition, lwd=3)))