R 将维恩图转换为格罗布图?

R 将维恩图转换为格罗布图?,r,ggplot2,ggplotly,R,Ggplot2,Ggplotly,嗨,有几种方法可以将R基本图转换为grob对象,但是我似乎无法从VennDiagram包中获取venn图来实现这一点。我尝试了两种不同的方法,但都失败了。有什么想法吗?谢谢 library ( VennDiagram ) library(ggplotify) library(gridGraphics) venn.plot <- draw.pairwise.venn( area1 = 100, area2 = 70, cross.area = 30, cat

嗨,有几种方法可以将R基本图转换为grob对象,但是我似乎无法从VennDiagram包中获取venn图来实现这一点。我尝试了两种不同的方法,但都失败了。有什么想法吗?谢谢

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 )
库(VennDiagram)
图书馆(ggplotify)
图书馆(网格图形)

venn.plot您的
venn.plot
对象是一个
gList
,一个grob列表。您可以直接使用该对象。如果您想用class
grob
替换
p1
,可以将最后一行替换为:

> p1 <- grobTree(venn.plot)

您的
venn.plot
对象是一个
gList
,一个grob列表。您可以直接使用该对象。如果您想用class
grob
替换
p1
,可以将最后一行替换为:

> p1 <- grobTree(venn.plot)

谢谢,这太完美了。以防有人在阅读。我可以更进一步,将其转换为ggplot对象
as.ggplot(p1)+ggtitle(“gtitle”)
,谢谢,这太完美了。以防有人在阅读。我可以进一步将其转换为ggplot对象
as.ggplot(p1)+ggtitle(“gtitle”)