簡體   English   中英

R 中的歐拉圖

[英]Euler diagram in R

大家好,我想 plot 歐拉圖,但我期望 plot 以不同的方式如下所示。 我怎么能 plot 這種類型的歐拉圖有什么建議,是否可以像這樣 plot

謝謝

  A  B  C  D   A1   B1   C1   D1
  2  3  5  6   2   30   30   60
  3  0  1  2   4   50   10   10
  4  0  6  5   85   4   85   50
  6  0  10 4   90  70   90    4
  5  92 50 10  50  50    3   30

在此處輸入圖像描述

正如評論中所解釋的,您將無法用圓圈表示超過 3 組的任意關系集。 package eulerr使用橢圓來獲得更多組合,並使結果與每個區域中的元素數量成比例。 我制作了一個名為nVennR的不同 package,它使用圓圈作為區域而不是集合。 然后圍繞這些圓圈繪制集合:

> library(nVennR)
> myT <- read.table('clipboard', header = T)
> lol <- as.list(myT)
> myV <- plotVenn(lol)
> myV <- plotVenn(nVennObj = myV)
> myV <- plotVenn(nVennObj = myV)
> myV <- plotVenn(nVennObj = myV)
> myV <- plotVenn(nVennObj = myV)
> myV <- plotVenn(nVennObj = myV)
> myV <- showSVG(nVennObj = myV, opacity = 0.2)

重復命令myV <- plotVenn(nVennObj = myV)是獲得緊湊形狀所必需的。 如果你嘗試一下,你會發現它需要幾分鍾,因為它需要執行幾次模擬。 package 可以帶任意數量的套,但超過 9 套時事情變得非常緩慢。 結果:

歐拉圖

您可以保存、編輯和改進圖片以更好地顯示信息,但這並非易事。 您可以在小插圖中找到更多信息。

暫無
暫無

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

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