绘制多组维恩图
Plotting a Venn digram of many groups
我有来自 12 的数据 类:
df <- data.frame(id=c(paste("a",1:1000,sep="."),
paste("b",1:2000,sep="."),
paste("c",1:100,sep="."),
paste("d",1:500,sep="."),
paste("e",1:200,sep="."),
paste("f",1:550,sep="."),
paste("g",1:2100,sep="."),
paste("h",1:900,sep="."),
paste("i",1:200,sep="."),
paste("j",1:3500,sep="."),
paste("k",1:4100,sep="."),
paste("l",1:2100,sep=".")),
class=c(rep("A",1000),
rep("B",2000),
rep("C",100),
rep("D",500),
rep("E",200),
rep("F",550),
rep("G",2100),
rep("H",900),
rep("I",200),
rep("J",3500),
rep("K",4100),
rep("L",2100)))
我想在 R
中绘制维恩图。
使用 venneuler
package
:
plot(venneuler(as.matrix(df)))
有点令人惊讶,因为 df
在任何 类 之间没有重叠。
是否知道这是否可以避免或任何其他维恩图绘制 R
能够处理如此大量 类 的程序包?
这可以通过 eulerr(我开发的一个包)实现,尽管考虑到大量可能的集合组合,它的速度非常慢。
vec <- as.vector(table(df$class))
names(vec) <- unique(df$class)
plot(eulerr::euler(vec))
我有来自 12 的数据 类:
df <- data.frame(id=c(paste("a",1:1000,sep="."),
paste("b",1:2000,sep="."),
paste("c",1:100,sep="."),
paste("d",1:500,sep="."),
paste("e",1:200,sep="."),
paste("f",1:550,sep="."),
paste("g",1:2100,sep="."),
paste("h",1:900,sep="."),
paste("i",1:200,sep="."),
paste("j",1:3500,sep="."),
paste("k",1:4100,sep="."),
paste("l",1:2100,sep=".")),
class=c(rep("A",1000),
rep("B",2000),
rep("C",100),
rep("D",500),
rep("E",200),
rep("F",550),
rep("G",2100),
rep("H",900),
rep("I",200),
rep("J",3500),
rep("K",4100),
rep("L",2100)))
我想在 R
中绘制维恩图。
使用 venneuler
package
:
plot(venneuler(as.matrix(df)))
有点令人惊讶,因为 df
在任何 类 之间没有重叠。
是否知道这是否可以避免或任何其他维恩图绘制 R
能够处理如此大量 类 的程序包?
这可以通过 eulerr(我开发的一个包)实现,尽管考虑到大量可能的集合组合,它的速度非常慢。
vec <- as.vector(table(df$class))
names(vec) <- unique(df$class)
plot(eulerr::euler(vec))