Venn diagram

From 太極
Jump to navigation Jump to search
  • gplots package (black and white?)
    gplots::venn(list(A = 1:150, B = 121:170, C=141:200))
    
  • VennDiagram - input has to be the numbers instead of the original vector?
    • Example from the help
      grid.newpage()
      grid.draw(venn.diagram(list(A = 1:150, B = 121:170), NULL) )
      grid.newpage()
      grid.draw(venn.diagram(list(A = 1:150, B = 121:170, C=141:200), NULL, 
                              category.names = c("Set 1" , "Set 2 ", "Set 3"), 
                              fill = c("#0073C2FF", "#CD534CFF", "#EFC000FF")) ) # weird
      
    • VennDiagram: a package for the generation of highly-customizable Venn and Euler diagrams in R. scaling is one option.
    • https://www.r-graph-gallery.com/venn-diagram.html
    • And a trick to make scaling works.
  • ggvenn package (best so far)
    library(ggvenn)
    ggvenn(list(A = 1:150, B = 121:170, C=141:200), 
             fill_color = c("#0073C2FF", "#CD534CFF", "#EFC000FF")) # looks normal
    
  • Vennerable package https://github.com/js229/Vennerable
  • http://manuals.bioinformatics.ucr.edu/home/R_BioCondManual#TOC-Venn-Diagrams and the R code or the Bioc package systemPipeR
    # systemPipeR package method
    library(systemPipeR)
    setlist <- list(A=sample(letters, 18), B=sample(letters, 16), C=sample(letters, 20), D=sample(letters, 22), E=sample(letters, 18)) 
    OLlist <- overLapper(setlist[1:3], type="vennsets")
    vennPlot(list(OLlist))                             
    
    # R script source method
    source("http://faculty.ucr.edu/~tgirke/Documents/R_BioCond/My_R_Scripts/overLapper.R") 
    setlist <- list(A=sample(letters, 18), B=sample(letters, 16), C=sample(letters, 20), D=sample(letters, 22), E=sample(letters, 18)) 
    # or (obtained by dput(setlist))
    setlist <- structure(list(A = c("o", "h", "u", "p", "i", "s", "a", "w", 
    "b", "z", "n", "c", "k", "j", "y", "m", "t", "q"), B = c("h", 
    "r", "x", "y", "b", "t", "d", "o", "m", "q", "g", "v", "c", "u", 
    "f", "z"), C = c("b", "e", "t", "u", "s", "j", "o", "k", "d", 
    "l", "g", "i", "w", "n", "p", "a", "y", "x", "m", "z"), D = c("f", 
    "g", "b", "k", "j", "m", "e", "q", "i", "d", "o", "l", "c", "t", 
    "x", "r", "s", "u", "w", "a", "z", "n"), E = c("u", "w", "o", 
    "k", "n", "h", "p", "z", "l", "m", "r", "d", "q", "s", "x", "b", 
    "v", "t"), F = c("o", "j", "r", "c", "l", "l", "u", "b", "f", 
    "d", "u", "m", "y", "t", "y", "s", "a", "g", "t", "m", "x", "m"
    )), .Names = c("A", "B", "C", "D", "E", "F"))
    
    OLlist <- overLapper(setlist[1:3], type="vennsets")
    counts <- list(sapply(OLlist$Venn_List, length))  
    vennPlot(counts=counts)                           
    

    File:Vennplot.png

UpSet plot