重绘维恩图

标签 r venn-diagram

使用 R 重绘维恩图的最简单方法是什么?我没有用于生成维恩图的数据,但其余的图都是用 R 绘制的……我想保持相同的结构,所以这意味着我必须以某种方式在 R 中重新绘制它。

你知道什么是最简单的方法吗?
That is venn diagram I have to create in R

这是我一直用于其他维恩图的代码。

v1 <- venn.diagram(list(1=a, 2=b, 3=c, 4=d), filename=NULL, fill=rainbow(4), cex.prop=NULL, cex=1.5)
png("TEST.png", width=7, height=7, units='in', res=150)
grid.newpage()
grid.draw(v1)
dev.off()

最佳答案

您可以调用 draw.venn.* 函数并直接输入重叠区域。这会很乏味,但我认为这是你唯一的选择。你会注意到组的顺序是不同的,也许有一种方法可以控制它,但我现在不确定那是什么。

a <- c(2411, 12433,939,238, 1575,2483,2923,540)
b <- c(1575, 2483,2923, 540, 1255, 1330, 615, 622)
c <- c(1247, 1330, 2483, 12433, 150, 615, 2923, 939)
d <- c(150,615,2923,939, 1245, 622, 540, 238)


draw.quad.venn(area1 = sum(a), area2 = sum(b), area3 = sum(c), area4 = sum(d), 
               n12 = sum(a[5:8]), n13 = sum(a[c(2,3,6,7)]), n14 = sum(a[c(3,4,7,8)]), 
               n23 = sum(b[c(2,3,6,7)]), n24 = sum(b[c(3,4,7,8)]), 
               n34 = sum(c[5:8]),
               n123 = sum(a[6:7]),
               n134 = sum(a[c(3,7)]),
               n124 = sum(a[7:8]),
               n234 = sum(b[c(3,7)]),
               n1234 = 2923, category = c("A","B","C","D"), 
               fill = colorspace::rainbow_hcl(4),
               col = colorspace::rainbow_hcl(4)[c(1,3,4,2)], lwd = rep(1, 4))

enter image description here

关于重绘维恩图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43936759/

相关文章:

r - 在 ggplot2 中正确格式化两行标题

javascript - D3.js 维恩图文本标签

sql - 维恩图解释的连接不止一个连接

javascript - venn.js - JS 维恩图 - 无法复制示例代码

r - 有没有办法制作一个包含所有点的维恩图?

r - 具有多个条件的嵌套 ifelse 语句的长列表的替代方案

r - 关于 UseMethod 搜索机制的困惑

r - 使用 family=gamma 运行 glm 时出错

RODBC:积极转换字符和数字(有/无原样)

r - 如何在 R 中创建多集表重叠可视化?