an interactive JavaScript re-implementation of UpSet(R)

This article is part of three part article series

  1. UpSet.js — The UpSet.js Ecosystem
  2. UpSet.js — JavaScript Tutorial
  3. UpSet.js — Behind the (technical) Scenes

Technical Stack and Software Architecture

In this last part of the article series about UpSet.js, I wanna focus a on the software architecture, tools, decisions, and concepts behind UpSet.js. The writing style is different to the other parts, since it discusses the decisions and experiences I made during the development.


an interactive JavaScript re-implementation of UpSet(R)

This article is part of three part article series

  1. UpSet.js — The UpSet.js Ecosystem
  2. UpSet.js — JavaScript Tutorial
  3. UpSet.js — Behind the (technical) Scenes

Introduction

This part of the article series gives a basic introduction into the concepts, data structures, and features of UpSet.js. The first part contains a high level introduction of the UpSet.js ecosystem. The last part focuses on the software architecture of the library and encountered challenges during its development.

Similarly, an adapted version for the UpSet.js for R integration is available at:

Hello World Example

Installation


an interactive JavaScript re-implementation of UpSet(R)

This article is part of three part article series

  1. UpSet.js — The UpSet.js Ecosystem
  2. UpSet.js —JavaScript Tutorial
  3. UpSet.js — Behind the (technical) Scenes

Background and Motivation

Venn diagrams are a common way to show set intersections between sets. However, with more than three sets things get messy. For example, the following picture is taken from a recent Nature method article.

© Nature: https://www.nature.com/articles/d41586-020-00154-w

It shows how frequent COVID-19 symptoms appear together. In 2014, Lex et. al. published an InfoVis paper about UpSet[1] a visualization technique for showing set intersections with more than three sets. UpSet addresses the inherent issues of Venn diagrams for more than three…

Samuel Gratzl

Research Software Engineer with a focus on Data Visualization. Author of LineUp.js (https://lineup.js.org) and UpSet.js (https://upset.js.org).

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store