All Projects → hms-dbmi → Upsetr

hms-dbmi / Upsetr

Licence: other
An R implementation of the UpSet set visualization technique published by Lex, Gehlenborg, et al..

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Upsetr

scclusteval
Single Cell Cluster Evaluation
Stars: ✭ 57 (-89.27%)
Mutual labels:  ggplot2, rstats
Hexsticker
✨ Hexagon sticker in R
Stars: ✭ 464 (-12.62%)
Mutual labels:  ggplot2, rstats
DataViz-Teaching
📈 Visualizations for DataViz Teaching
Stars: ✭ 29 (-94.54%)
Mutual labels:  ggplot2, rstats
Plotly
An interactive graphing library for R
Stars: ✭ 2,096 (+294.73%)
Mutual labels:  ggplot2, rstats
Tidytuesday
📊 My contributions to the #TidyTuesday challenge
Stars: ✭ 410 (-22.79%)
Mutual labels:  ggplot2, rstats
Ghibli
Studio Ghibli colour palettes
Stars: ✭ 227 (-57.25%)
Mutual labels:  ggplot2, rstats
layer
Create stacked tilted maps
Stars: ✭ 97 (-81.73%)
Mutual labels:  ggplot2, rstats
Complex Upset
A library for creating complex UpSet plots with ggplot2 geoms
Stars: ✭ 147 (-72.32%)
Mutual labels:  ggplot2, rstats
Ggextra
📊 Add marginal histograms to ggplot2, and more ggplot2 enhancements
Stars: ✭ 299 (-43.69%)
Mutual labels:  ggplot2, rstats
Ggpomological
🍑 Pomological plot theme for ggplot2
Stars: ✭ 293 (-44.82%)
Mutual labels:  ggplot2, rstats
Calendr
Ready to print calendars with ggplot2
Stars: ✭ 161 (-69.68%)
Mutual labels:  ggplot2, rstats
Ggsignif
Easily add significance brackets to your ggplots
Stars: ✭ 322 (-39.36%)
Mutual labels:  ggplot2, rstats
Econocharts
Microeconomics/macroeconomics charts in ggplot2
Stars: ✭ 161 (-69.68%)
Mutual labels:  ggplot2, rstats
cusumcharter
Easier CUSUM control charts. Returns simple CUSUM statistics, CUSUMs with control limit calculations, and function to generate faceted CUSUM Control Charts
Stars: ✭ 17 (-96.8%)
Mutual labels:  ggplot2, rstats
Patchwork
The Composer of ggplots
Stars: ✭ 2,002 (+277.02%)
Mutual labels:  ggplot2, rstats
ggchicklet
🀫 Create Chicklet (Rounded Segmented Column) Charts
Stars: ✭ 130 (-75.52%)
Mutual labels:  ggplot2, rstats
Soccer ggplots
Soccer/football analytics blog posts & data viz from the World Cup, Premier League, Copa America, and beyond. Using ggplot2, ggsoccer, & more. (Est. June 2018) ****Please look at the README for best version of the code!****
Stars: ✭ 115 (-78.34%)
Mutual labels:  ggplot2, rstats
Gganimate
A Grammar of Animated Graphics
Stars: ✭ 1,744 (+228.44%)
Mutual labels:  ggplot2, rstats
Ggpointdensity
📈 📊 Introduces geom_pointdensity(): A Cross Between a Scatter Plot and a 2D Density Plot.
Stars: ✭ 286 (-46.14%)
Mutual labels:  ggplot2, rstats
Ggpage
Creates Page Layout Visualizations in R 📄📄📄
Stars: ✭ 306 (-42.37%)
Mutual labels:  ggplot2, rstats

UpSetR

Technique

UpSetR generates static UpSet plots. The UpSet technique visualizes set intersections in a matrix layout and introduces aggregates based on groupings and queries. The matrix layout enables the effective representation of associated data, such as the number of elements in the aggregates and intersections, as well as additional summary statistics derived from subset or element attributes.

For further details about the original technique see the UpSet website. You can also check out the UpSetR shiny app. Here is the source code for the shiny wrapper.

A Python package called py-upset to create UpSet plots has been created by GitHub user ImSoErgodic.

Citation

If you use UpSetR in a paper, please cite:

Jake R Conway, Alexander Lex, Nils Gehlenborg UpSetR: An R Package for the Visualization of Intersecting Sets and their Properties doi: https://doi.org/10.1093/bioinformatics/btx364

The original technique and the interactive visualization tool implementing the approach are described here:

Alexander Lex, Nils Gehlenborg, Hendrik Strobelt, Romain Vuillemot, Hanspeter Pfister,
UpSet: Visualization of Intersecting Sets,
IEEE Transactions on Visualization and Computer Graphics (InfoVis '14), vol. 20, no. 12, pp. 1983–1992, 2014.
doi: https://doi.org/10.1109/TVCG.2014.2346248

Sample Data

Sample data sets for UpSetR are included in the package and can be loaded like this:

movies <- read.csv( system.file("extdata", "movies.csv", package = "UpSetR"), header=T, sep=";" )
mutations <- read.csv( system.file("extdata", "mutations.csv", package = "UpSetR"), header=T, sep = ",")

The movie data set created by the GroupLens Lab and curated by Bilal Alsallakh and the mutations data set was originally created by the TCGA Consortium and represents mutations for the 100 most mutated genes in a glioblastoma multiforme cohort.

Examples

In addition to the examples shown here, we have included a range of UpSetR plots in the paper about the R package, which can be found in a separate GitHub repository.

Vignettes

There are currently four vignettes that explain how to use the features included in the UpSetR package:

Demo

A view of the UpSet plot with additional plots based on elements in the intersections.

Image

upset(movies,attribute.plots=list(gridrows=60,plots=list(list(plot=scatter_plot, x="ReleaseDate", y="AvgRating"),
list(plot=scatter_plot, x="ReleaseDate", y="Watches"),list(plot=scatter_plot, x="Watches", y="AvgRating"),
list(plot=histogram, x="ReleaseDate")), ncols = 2))

A view of UpSetR mimicking the plot published by Lex & Gehlenborg http://www.nature.com/nmeth/journal/v11/n8/abs/nmeth.3033.html

image

upset(mutations, sets = c("PTEN", "TP53", "EGFR", "PIK3R1", "RB1"), sets.bar.color = "#56B4E9",
order.by = "freq", empty.intersections = "on")

An example using two set queries (war movies and noir movies) along with attribute plots comparing the average rating (top) and average rating vs the number of times the movies have been watched (bottom).

image

upset(movies, attribute.plots=list(gridrows = 100, ncols = 1, 
plots = list(list(plot=histogram, x="AvgRating",queries=T),
list(plot = scatter_plot, y = "AvgRating", x = "Watches", queries = T))), 
sets = c("Action", "Adventure", "Children", "War", "Noir"),
queries = list(list(query = intersects, params = list("War"), active = T),
list(query = intersects, params = list("Noir"))))

Download

Install the latest released version from CRAN

install.packages("UpSetR")

Download the latest development code of UpSetR from GitHub using devtools with

devtools::install_github("hms-dbmi/UpSetR")
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].