簡體   English   中英

R 中的三重維恩圖:如何獲得正確的區域比例

[英]Triple venn-diagram in R: How to get proportions of the area right

我試圖通過使用包 VennDiagram 在 R 中使用維恩圖來比較不同的測試方法。 我遇到了面積與數字大小不成正比的問題。 一切都很好,然后我比較了 2 種測試方法,如下所示:

draw.pairwise.venn(44, 32, 28, c("TestA", "TestB"), fill = c("red", "blue"))

但是,當我嘗試比較 3 種方法時,面積不再成正比。 我試圖添加一些“額外”,如 eulerr.d = TRUE 和 scaled = TRUE,但似乎沒有幫助。

draw.triple.venn(44, 39, 32, 39, 25, 28, 25, c("TestA", "TestC", "TestB"),  fill = c("red", "green", "blue"), euler.d = TRUE, scaled = TRUE)

有關如何解決此問題的任何提示?

先感謝您,

比約恩

您使用的參數確實為某些值集創建了一個縮放圖,例如

draw.triple.venn(1, 3, 5, 0, 1, 0, 0, c("TestA", "TestC", "TestB"),  
                 fill = c("red", "green", "blue"))

在此處輸入圖片說明

似乎對於其他參數集,不可能(或未編碼)使面積與值成正比

維恩圖和歐拉圖都不需要重疊區域與內容的大小成正比,但我理解它使圖表更有用。 我強烈建議研究UpSetR包,它提供了一些非常酷且有指導意義的集合重疊圖形表示。

同時,我會按照 user20650 的建議使用eulerr ,看看您是否發現更容易獲得所需的疊加圖。 同樣在 CRAN:bvenn、venneuler、vennplot 和其他幾個可能感興趣的包。

Side nit:如果您只繪制與內容重疊的圖,那么它是歐拉圖,而不是維恩圖。

不能使用圓圈顯示三個或更多組的任意比例的維恩或歐拉圖。 stackoverflow 中有一個關於不同包的封閉線程來執行此操作。 幾個選項是eulerr ( vignette ),它使用橢圓和損失函數,以及我開發的nVennR ( vignette ),它使用其他形狀並保持幾乎精確的比例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM