Venn_example

Venn(维恩图)可以用来表示集合及其相互之间的关系。有时我们希望Venn能够将集合的大小用图形的面积表示出来,从而提供更丰富更直观的信息。

Vennerable能够在R中画出含有面积比例的Venn图,其它画Venn的包,似乎都没法实现这个功能。如果哪位大神有好的工具,求留言推荐。

1.安装

  1. 离线安装:下载页面
    在线安装:R命令行中使用如下命令:

    install.packages("Vennerable", repos="http://R-Forge.R-project.org")
    
  2. Vennerable这个包需要很多bioconductor的依赖包才能工作,为了获取这些包的名称,先键入

    library(Vennerable)
    

    此时R会告知缺少的包的名字:graph, RBGL, grid, lattice, RColorBrewer, reshape, gtools, xtable.

  3. 安装依赖包:可去bioconductor下载,也可以使用命令依次在线安装:

    source("http://bioconductor.org/biocLite.R")
    biocLite('package_name')
    

2.绘图

绘制[1, 100]和[51, 125]两个正整数集的Venn,并用面积表示各部分的大小。

x<-c(1:100)    #建立1~100的正整数集
y<-c(51:125)    #建立51~125的正整数集
library(Vennerable)    #载入Vennerable
data<-Venn(list("SetA"=x,"SetB"=y))    #使用Venn函数处理数据,完成了集合的命名并存入data(变量名可以随便起)
plot(data,doWeight=T)    #绘图,doWeight参数决定是否按比例绘图,试试设成F

完了?这么简单啊!这个工具让我一顿好找……orz

3.其他

Vennerable在R的Venn制图工具中算是很强大的了,更多高级功能可以参考包里自带的Venn.pdf等说明文档。但是也有很多让我抓狂的地方:颜色不能自定义,集合名称位置不可调,不能加入图名……跪求大神推荐优秀作图工具。


Zair
100 声望2 粉丝

引用和评论

0 条评论