[英]scaling triple Venn diagram in R with VennDiagram package
有誰知道如何讓R包VennDiagram根據設定的大小來縮放包含3個相交集的維恩圖的圓圈?
我可以通過venneular包實現這種擴展,但我發現與VennDiagram相比,其他圖形選項有點受限。
VennDiagram包文檔建議將參數'scaled'設置為TRUE應該可以做到這一點,但我發現這會產生3個相同大小的圓。
包文檔確實以密碼形式表明縮放參數可能僅適用於某些圖:
?draw.triple.venn
揭示了:
scaled:“布爾值,指示是否根據設置的尺寸縮放某些歐拉圖中的圓形尺寸”
和
?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
吉姆
所以回答我自己的問題:對於某些配置,在數學上不可能使用圓形創建縮放的3向Venn。
由於可能誤導數據的可視化表示,因此禁用三組維恩圖的一般縮放
請嘗試使用以下兩個工具,
http://bioinformatics.psb.ugent.be/webtools/Venn/ http://bioinfogp.cnb.csic.es/tools/venny/index.html
對於您的問題,請閱讀以下注釋:
關鍵是在draw.triple.venn中設置overrideTriple
如果euler.d == TRUE,則繪制19個特殊情況的Euler圖。 某些Euler圖在適當的情況下使用特定於兩組維恩圖的縮放,sep.dist或偏移參數。 該功能默認將三個圓圈放置成三角形排列,頂部有兩組,下面有一組。 圓圈以順時針方式對應於area1,area2和area3,左上角為area1。 NB由於可能誤導數據的可視化表示,因此禁用三組維恩圖的一般縮放。 要重新啟用,請將任何值分配給變量overrideTriple
http://cran.r-project.org/web/packages/VennDiagram/VennDiagram.pdf
我使用Vennerable代替。 將數據讀入Venn對象有點復雜,但它會生成加權/縮放的三組圖表+圖形選項。
我的解決方案
overrideTriple=T
draw.triple.venn(9, 20, 30, 2, 10, 3, 2, category =
rep("", 3), rotation = 1, reverse = FALSE, euler.d = F, scaled = F)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.