Привет, есть несколько способов преобразовать базовые графики 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 )
Ваш объект venn.plot
– это gList
список гробов. Вы можете использовать этот объект напрямую. Если вы хотите p1
с классом grob
, вы можете заменить последнюю строку на:
> p1 <- grobTree(venn.plot)
Потом,
> is.grob(p1)
[1] TRUE
> class(p1)
[1] "gTree" "grob" "gDesc"
спасибо это идеально. На всякий случай, если кто-то еще читает. Я могу сделать еще один шаг и преобразовать это в объект ggplot
as.ggplot(p1) + ggtitle ("gtitle")