2012-07-30 46 views
7

有誰知道如何獲得R包VennDiagram根據設置大小縮放包含3個相交集的維恩圖的圓圈?縮放三維Venn圖與R與VennDiagram包

我可以通過venneular軟件包實現這種縮放,但是與VennDiagram相比,我發現它在其他圖形選項方面有點受限。

VennDiagram軟件包文檔建議將參數'scaled'設置爲TRUE應該可以做到這一點,但是我發現這會產生3個相同大小的圓。

封裝的文檔,也含糊表明縮放參數可能僅適用於某些圖表工作:

?draw.triple.venn 

揭示:

縮放: 「布爾值指示是否縮放圓尺寸在某些歐拉根據圖設置大小或不是」

?venn.diagram 

#Argument Venn Sizes Class Description 
#scaled 2, 3   logical Enable scaling for two-set and certain three-set Euler diagrams. 

的我的代碼,一種玩具,例如:

require(VennDiagram) 

venn.plot <- draw.triple.venn(
    area1 = 70, 
    area2 = 250, 
    area3 = 500, 
    n12 = 30, 
    n23 = 60, 
    n13 = 10, 
    n123 = 5, 
    category = c("C1", "C2", "C3"), 
    fill = c("blue", "red", "green"), 
    scaled=TRUE) 

tiff(filename = "test.tiff", compression = "none",type = "quartz",antialias = "none") 
grid.draw(venn.plot) 
dev.off() 

同樣這個代碼使用 'venn.diagram' 函數不產生所需的縮放:

venn.diagram(x=list(A=c(1:15,16:20), B=c(6:15,21:30,100:150), C=c(11:30,200:300)), 
     filename="test.tiff", 
     fill = c("blue", "yellow", "red"), scaled=TRUE) 

由於v.much

Jim

回答

3

所以要回答我自己的問題: 對於某些配置,它在數學上是不可能的o使用圓形創建一個 縮放的三維維恩。

+0

有一個類似的線程說這是不可能的。隨着elipses,這是可能的。你有沒有找到一種方法來使用R繪製它? – userJT 2012-12-11 16:44:01

1

改爲使用Vennerable。將數據讀入Venn對象有點複雜,但它會生成加權/縮放三組圖+圖形選項。

+1

鏈接已過時。改爲使用:https://github.com/js229/Vennerable – EdM 2017-03-05 17:57:49

2

三集維恩圖的一般比例是禁用的,由於數據

請嘗試使用以下兩種工具的潛在誤導性可視化表示,

http://bioinformatics.psb.ugent.be/webtools/Venn/ http://bioinfogp.cnb.csic.es/tools/venny/index.html

和你問題請閱讀以下注意事項:

關鍵是要設置overrideTriple in draw.triple.venn

如果euler.d == TRUE,則繪製19個特例的歐拉圖。在適當的情況下,某些歐拉圖使用特定於兩組維恩圖的縮放,sep.dist或偏移參數。該功能默認將三個圓圈放置在三角形佈局中,其中兩組放在頂部,一組放在下面。圓圈順時針方向對應area1,area2和area3,左上方爲area1。 N.B.由於數據可能具有誤導性的可視表示,因此三組維恩圖的一般縮放會被禁用。要重新啓用,任何值賦給變量overrideTriple上Biostars

http://cran.r-project.org/web/packages/VennDiagram/VennDiagram.pdf

+2

我試着設置這個變量,它不起作用。我使用和不使用overrideTriple的原始問題(我將它設置爲TRUE)運行示例,輸出結果相同。 – 2017-05-08 19:30:06