Graph layouts by t-distributed stochastic neighbour embedding.
This repository contains the implementation of a graph layout algorithm that makes use of the t-SNE dimensionality reduction technique.
The exploration and evaluation of using this technique for graph layouts was done as my MSc thesis project at Rijksuniversiteit Groningen, which I aim to finish in August 2016.
A large part of an essential module in this implementation is a heavily adjusted version of Paulo Rauber's thesne, which is an implementation of dynamic t-SNE.
This was developed and tested solely on ArchLinux. For this implementation to work, you will need:
python3
numpy
graph-tool
theano
graphviz
matplotlib
scikit-learn
For rendering fancy animations (even more heavily untested, probably only works on my system) you need:
For a set of graphs that has been used as a benchmark, animations that show the state of the layout as a function of optimization time can be seen over here.
Usage of this software is at your own risk. This utility writes and removes directories in a directory you specify, and (with me being not a professional software developer) you should not trust using this if you're afraid to lose data.