将维恩图转换为 grob?
Convert Venn diagram to grob?
您好,有几种方法可以将 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
,一个 grob 列表。您可以直接使用该对象。如果你想要 p1
和 class grob
,你可以将最后一行替换为:
> p1 <- grobTree(venn.plot)
然后,
> is.grob(p1)
[1] TRUE
> class(p1)
[1] "gTree" "grob" "gDesc"
您好,有几种方法可以将 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
,一个 grob 列表。您可以直接使用该对象。如果你想要 p1
和 class grob
,你可以将最后一行替换为:
> p1 <- grobTree(venn.plot)
然后,
> is.grob(p1)
[1] TRUE
> class(p1)
[1] "gTree" "grob" "gDesc"