我在另一个封闭的线程中读到注释,可以使用R中的venn.diagram包创建面积比例的维恩图。
我将代码修改为适合我的数据(基因列表),但是圆圈的面积与数据向量的长度无关。
有解决此问题的建议吗?
谢谢! 代码并在下面输出。
代码示例
venn.diagram(x = list(G015_All, G08_Female, G015_Male),
na = "remove",
category.names = c("G015_All", "G08_Female", "G015_Male"),
fill = c('lightyellow', 'paleturquoise', 'lightgreen'),
alpha = c(0.5, 0.5, 0.5),
cex = 2,
cat.fontface = 4,
lty =2,
fontfamily =3,
filename = "VennPlot.png",
imagetype = "png",
output = T)
答案 0 :(得分:0)
有几个R软件包可以做到这一点,每个软件包都有不同的方法。我自己尝试nVennR绘制比例圆,该比例圆被图中的线包围。您可以阅读vignette,以获取有关如何使用它的示例。还有一个web server,最多可容纳六组。 我试图重现您作为示例显示的图表。我必须手动输入设置的尺寸,但是该图也可以像您的示例一样从列表中生成(如插图所示):
> library(nVennR)
> myV <- createVennObj(nSets = 3, sNames = c("G015_All", "G08_Female", "G015_Male"), sSizes = c(0, 7, 5212, 35, 1, 0, 2, 37))
> myV <- plotVenn(nVennObj = myV, setColors=c('yellow', 'turquoise', 'green'))
结果:
几件事。首先,我改变了颜色。 nVennR使用不透明度来混合颜色,因此默认情况下会获得较暗的颜色。其次,小套的形状并不完美。这与填充圆圈的算法有关,并且仅在极少数情况下才会发生,例如组大小的极端不平衡。