日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

用R語言繪制韋恩圖

 勤悅軒 2015-09-11

R中提供了多個可用于繪制韋恩圖的軟件包,本文主要是介紹的是VennDiagram包。

安裝VennDiagram包:

install.packages("VennDiagram")

首先加載相應(yīng)的軟件包:

library(VennDiagram)

生成幾個集合并計算各個集合及其相互交集的大小:

A = 1:150
B = c(121:170,300:320)
C = c(20:40,141:200)
Length_A<-length(A)
Length_B<-length(B)
Length_C<-length(C)
Length_AB<-length(intersect(A,B))
Length_BC<-length(intersect(B,C))
Length_AC<-length(intersect(A,C))
Length_ABC<-length(intersect(intersect(A,B),C))

利用通用函數(shù)venn.diagram繪制兩個集合的韋恩圖:

T<-venn.diagram(list(A=A,B=B),filename=NULL
,lwd=1,lty=2
,col=c("red","green"),fill=c("red","green")
,cat.col=c("red","green")
,rotation.degree=90)
grid.draw(T)

其中,參數(shù)filename指定用于保存圖形文件的文件名,如果希望在當(dāng)前的圖形窗口中看到繪制的韋恩圖,則filename必須為空;若希望將繪制的圖 形直接保存為某文件,則直接使用venn.diagram(...,filename="*")即可完成。參數(shù)fill表示各個集合對應(yīng)的圓的填充顏 色,col表示對應(yīng)的圓周的顏色,而cat.col則表示集合名稱的顯示顏色。lwd用于設(shè)定圓弧的寬度,lty用于設(shè)定圓弧的線型。參數(shù) rotation.degree則可用于調(diào)整圖形的旋轉(zhuǎn)角度。

利用函數(shù)venn.diagram繪制三個集合的韋恩圖:

T<-venn.diagram(list(A=A,B=B,C=C),filename=NULL
,lwd=1,lty=2,col=c("red","green","blue")
,fill=c("red","green","blue")
,cat.col=c("red","green","blue")
,reverse=TRUE)
grid.draw(T)

1616229316372860354

從上面的兩個例子可以看出函數(shù)venn.diagram是利用集合作為參數(shù)繪制韋恩圖的,但是有時候我們并不知道各個集合都包含什么元素,而只知道集合及 相互之間交集的大小,這個時候如何繪制韋恩圖呢?包VennDiagram還給我們提供了另外幾個函數(shù):繪制兩個集合的韋恩圖的 draw.pairwise.venn,三個集合的draw.triple.venn,四個、五個集合的draw.quad.venn、 draw.quintuple.venn。我們此處只介紹前兩個函數(shù)的用法。

利用函數(shù)draw.pairwise.venn繪制兩個集合的韋恩圖:

draw.pairwise.venn(area1=Length_A,area2=Length_B,cross.area=Length_AB
,category=c("A","B"),lwd=rep(1,1),lty=rep(2,2)
,col=c("red","green"),fill=c("red","green")
,cat.col=c("red","green")
,rotation.degree=90)

其中area1指第一個集合的大小,area2指第二個集合的大小,而cross.area則指交集的大小。參數(shù)category用于指定集合名稱。其余參數(shù)與venn.diagram相同。

利用函數(shù)draw.triple.venn繪制三個集合的韋恩圖:

draw.triple.venn(area1=Length_A, area2=Length_B, area3=Length_C
,n12=Length_AB, n23=Length_BC, n13=Length_AC, n123=Length_ABC
,category = c("A","B","C")
,col=c("red","green","blue"),fill=c("red","green","blue")
,cat.col=c("red","green","blue")
,reverse = FALSE)

同draw.pairwise.venn類似,area1、area2、area3分別指第一個、第二個、第三個集合的大小。n12表示第一個與第二個集合的交集大小,n23、n13也是類似,n123指三個集合的交集大小。reverse則指是否對圖形進(jìn)行反轉(zhuǎn)。

原文來自:http://liuwei441005.blog.163.com/blog/static/135705811201310152376766/

生物信息學(xué)交流論壇 http://bbs./forum-76-1.html

  • 將本文分享到下面的網(wǎng)站:
    更多 0
    [http://www./]                                 

      本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多