【问题标题】:Venn diagram plot?维恩图情节?
【发布时间】:2018-05-09 15:15:40
【问题描述】:

我有一些数据如下,我想为他们提供维恩图。如果有任何解决方案,请告诉我。

dim(a)
1200

dim(b)
420

dim(c)
580

dim(d)
650

数据之间的重叠:

a_b = 200
a_c=100
c_b=20
a_d= 11
b_d= 61
c_d= 0

【问题讨论】:

    标签: r venn-diagram


    【解决方案1】:

    有多种构建 ViennDiagram 的方法。一种是使用 VennDiagram 包:

    library(VennDiagram)
    grid.newpage()
    venn.plot <- draw.quad.venn(
      area1 = 1200,
      area2 = 420,
      area3 = 580,
      area4 = 650,
      n12 = 200,
      n13 = 100,
      n14 = 11,
      n23 = 20,
      n24 = 61,
      n34 = 0,
      n123 = 0,
      n124 = 0,
      n134 = 0,
      n234 = 0,
      n1234 = 0,
      category = c("a", "b", "c", "d"),
      fill = c("orange", "red", "green", "blue"),
      lty = "dashed",
      cex = 2,
      cat.cex = 2,
      cat.col = c("orange", "red", "green", "blue")
    )
    

    【讨论】:

      【解决方案2】:

      有几种工具可以做到这一点。我开发了其中一个,称为 nVennR。根据您提供的数据,

      library(nVennR)
      cVenn <- createVennObj(4, c("a", "b", "c", "d"))
      cVenn <- setVennRegion(cVenn, c("a", "b"), 200)
      cVenn <- setVennRegion(cVenn, c("a", "c"), 100)
      cVenn <- setVennRegion(cVenn, c("c", "b"), 20)
      cVenn <- setVennRegion(cVenn, c("a", "d"), 11)
      cVenn <- setVennRegion(cVenn, c("b", "d"), 61)
      cFig <- plotVenn(nVennObj = cVenn)
      

      但是,您可以在一行中直接从列表 a、b、c 和 d 中执行相同操作:

      plotVenn(list(a=a, b=b, c=c, d=d))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-24
        • 2013-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-14
        相关资源
        最近更新 更多