Graffinity: Visualizing Connectivity in Large Graphs
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

DOI

Graffinity

Graffinity is a prototype implementation of two techniques for visualizing connectivity in large graphs: the connectivity matrix and the intermediate node table. We created these techniques to summarize many short paths that connect nodes. Please see our EuroVis paper for details.

I recently updated Graffinity to run entirely in a web browser. It is available here. Beware: this version only works with neuroscience data.

Previously, Graffinity could be used with a flight dataset as well. However, it required a server running a graph database. The flight dataset can still be accessed by using the release of Graffinity that is described in our EuroVis paper.

Development

I built Graffinity while I was also teaching myself how to build web applications. As a result, I made many design decisions that hinder its continued development and support. Furthermore, I built Graffinity to work with a few different datasets, but I have since deprecated support for everything that is not neuroscience data. It's a mess.

I strongly suggest that anyone who is interested in using the connectivity matrix or intermediate node table should read our EuroVis paper and implement these techniques themselves. Nevertheless, if you need to continue developing or supporting Graffinity, here are directions for building and deploying it.

Build

These are directions for running Graffinity on your local machine using npm and gulp.

  1. Install prerequisites - npm and bower
  2. Clone this repository
  3. Cd into the project folder
  4. Run npm install
  5. Run bower install
  6. Run gulp serve to start the application

Deploy

The client-only version of Graffinity is hosted on this repository's github page. It can be updated from your local machine with using the gulp deploy task: e.g., running gulp build && gulp deploy from the local directory.