如何在R Vennerable Venn Diagram中获得头衔?

时间:2016-11-14 20:14:24

标签: r venn-diagram

我在文档here中找不到任何内容。 代码

library("Vennerable")
data(StemCell)
Vstem <- Venn(StemCell)
Vstem3 <- Vstem[, c("OCT4", "SOX2", "NANOG")]
tl <- "masi"
plot(Vstem3, doWeights = TRUE, type = "circles")

尝试失败

  • plot(..., main = tl)
  • plot(..., title = tl)
  • plot(...); title(tl)
  • plt <- plot(...); title(plt, tl)

图。 1没有标题的输出错误

enter image description here

R:3.3.1
操作系统:Debian 8.5

1 个答案:

答案 0 :(得分:6)

user20650回答此处总结的评论。尝试(1-2)并选择最合适的选项。

  1. 绘图方法基于网格包,因此正常的基础R图接近添加标题不会起作用。查看args(Vennerable:::plotVenn)的参数,似乎没有一种方法可以添加标题,并且无需绘图就不会返回网格对象。因此,您可以使用以下

    在绘图窗口上绘制标题
    grid.text("masi", y=0.9, gp=gpar(col="red", cex=2))
    
  2. 作为替代方法,您可以抓住grob,然后使用grid.arrange绘制标题

    gridExtra::grid.arrange(grid::grid.grabExpr(plot(Vstem3, doWeights = TRUE, 
       type = "circles")), top="masi")
    
  3. grid.arrange方式将标题添加为单独的grob,然后将它们排列成两行。因此,在调整图形窗口大小时,它仍会显示在图表上方。当直接在窗口上绘制时(例如在第一个版本中),这不会成立。 注意:您不需要使用gridExtra,您可以在网格中执行此操作。

    图。 1(1)的输出, 图2(2)

    的输出

    enter image description here enter image description here

    我认为(1)通过更多调整可能会更好,但现在(2)更好。