要在子集中显示的非数字条目的维恩图
Venn diagram for non-numeric entries to be shown in subsets
我有以下数据框:
SET1 SET2 SET3
par1 par2 par1
par2 par3 par2
par3 par4 par5
... ... ...
我想制作维恩图,因为所有这些 'parX' 元素都显示在各自的子集中,即作为标签,而不仅仅是重叠元素的数量。
哪个 R 包支持?
关于 here 的最佳答案,你必须手动添加标签(使用 VennDiagram),当你有两个圆圈时它很容易,但是如果你有三个或更多,整个事情变得更加复杂
library(VennDiagram)
SET1 <- c('a','b','c','d')
SET2 <- c('a','e','f','g')
SET3 <- c('a','w','x','f')
v <- venn.diagram(list(SET1 = SET1, SET2 = SET2, SET3 = SET3),
fill = c("red", "green","blue"),
alpha = c(0.5, 0.5, 0.5), cat.cex = 1.5, cex=1.5,
filename=NULL)
grid.newpage()
grid.draw(v)
v[[7]]$label <- paste(setdiff(SET1, intersect(SET2,SET3)), collapse="\n")
v[[8]]$label <- paste(setdiff(intersect(SET1,SET2),intersect(SET1, intersect(SET2,SET3))), collapse="\n")
v[[9]]$label <- paste(setdiff(SET2, intersect(SET1,SET3)), collapse="\n")
v[[10]]$label <- paste(setdiff(intersect(SET3,SET1),intersect(SET3, intersect(SET1,SET2))), collapse="\n")
v[[11]]$label <- paste(intersect(SET1, intersect(SET2,SET3)), collapse="\n")
v[[12]]$label <- paste(setdiff(intersect(SET2,SET3),intersect(SET2, intersect(SET1,SET3))), collapse="\n")
v[[13]]$label <- paste(setdiff(SET3, intersect(SET1,SET2)), collapse="\n")
grid.newpage()
grid.draw(v)
我有以下数据框:
SET1 SET2 SET3
par1 par2 par1
par2 par3 par2
par3 par4 par5
... ... ...
我想制作维恩图,因为所有这些 'parX' 元素都显示在各自的子集中,即作为标签,而不仅仅是重叠元素的数量。 哪个 R 包支持?
关于 here 的最佳答案,你必须手动添加标签(使用 VennDiagram),当你有两个圆圈时它很容易,但是如果你有三个或更多,整个事情变得更加复杂
library(VennDiagram)
SET1 <- c('a','b','c','d')
SET2 <- c('a','e','f','g')
SET3 <- c('a','w','x','f')
v <- venn.diagram(list(SET1 = SET1, SET2 = SET2, SET3 = SET3),
fill = c("red", "green","blue"),
alpha = c(0.5, 0.5, 0.5), cat.cex = 1.5, cex=1.5,
filename=NULL)
grid.newpage()
grid.draw(v)
v[[7]]$label <- paste(setdiff(SET1, intersect(SET2,SET3)), collapse="\n")
v[[8]]$label <- paste(setdiff(intersect(SET1,SET2),intersect(SET1, intersect(SET2,SET3))), collapse="\n")
v[[9]]$label <- paste(setdiff(SET2, intersect(SET1,SET3)), collapse="\n")
v[[10]]$label <- paste(setdiff(intersect(SET3,SET1),intersect(SET3, intersect(SET1,SET2))), collapse="\n")
v[[11]]$label <- paste(intersect(SET1, intersect(SET2,SET3)), collapse="\n")
v[[12]]$label <- paste(setdiff(intersect(SET2,SET3),intersect(SET2, intersect(SET1,SET3))), collapse="\n")
v[[13]]$label <- paste(setdiff(SET3, intersect(SET1,SET2)), collapse="\n")
grid.newpage()
grid.draw(v)