Преобразовать диаграмму Венна в гроб? - PullRequest
0 голосов
/ 31 мая 2019

Привет, есть несколько способов конвертировать базовые графики R в объект grob, однако я не могу получить диаграммы Венна из пакета VennDiagram, чтобы сделать это. Я пробовал два разных метода, но оба не удалось. Есть идеи? Спасибо!

library ( VennDiagram )
library(ggplotify)
library(gridGraphics)

venn.plot <- draw.pairwise.venn(
    area1 = 100,
    area2 = 70,
    cross.area = 30,
    category = c("First", "Second"),
    cat.pos = c(0, 180),
    euler.d = TRUE,
    sep.dist = 0.03,
    rotation.degree = 45
);




grab_grob <- function(){
    grid.echo()
    grid.grab()
}

grid.draw(venn.plot )
g <- grab_grob()
p1 <- as.grob( venn.plot )

1 Ответ

1 голос
/ 31 мая 2019

Ваш venn.plot объект представляет собой gList, список гробов. Вы можете использовать этот объект напрямую. Если вы хотите p1 с классом grob, вы можете заменить последнюю строку на:

> p1 <- grobTree(venn.plot)

Тогда

> is.grob(p1)
[1] TRUE
> class(p1)
[1] "gTree" "grob"  "gDesc"
...