/sankey

Primary LanguageHTML

Crossing Reduction of Sankey Diagram with Eigen-centric Layout

by He Chen LI, Shi Ying LI, Bo Wen TAN and Shuai Cheng LI.

This project contains the source code for the above paper. The paper has been submitted to the IEEE Pacific Visualization Symposium 2021.

Requirements

This project uses Python 3.7. We uses the following packages (click for installation guide):

Test Cases Reproduction

Test against the state-of-art heuristic combined method

Dataset

The dataset used in this test is the same one used in the paper "EnergyViz: an interactive system for visualization of energy systems" where the combined method is introduced. It is the the Canada energy flow data in 1978 from Canadian Energy Systems Analysis Research website. However, the dataset is no longer available as shown in this page. As a result, we build an artificial dataset based on the combined method's result figure. The dataset is a json file available here in the input folder.

Source code

The source code of this test is available here in the algorithm folder.

Output file

The output file of this test is available here in the output folder. It contains the ordering as well as the non-weighted and weighted crossing of results from the combined method and both stages of our method.

Visualization

Visualizations of these output orderings from the combined method, the Markov stage and the Refinement stage are available in the visualization folder.

Test against the ILP and BC method

Dataset

The dataset used in this test is the same one used in the paper "Optimal Sankey Diagrams Via Integer Programming" where the ILP method is introduced. It is the "World Greenhouse Gas Emissions" data from the World Resource Institute. This dataset is a json file available here in the input folder.

Source code

The source code of this test is available here in the algorithm folder.

Output file

The output file of this test is available here in the output folder. It contains the ordering as well as the non-weighted and weighted crossing of results from the BC method, the ILP method and both stages of our method.

Visualization

Visualizations of these output orderings from the BC method, the ILP method, the Markov stage and the Refinement stage are available in the visualization folder.

Test on the circular form of the Sankey diagram

Source code

The source code of this test is available here in the algorithm folder. It also contains code that generated the 20 test cases on circular Sankey diagram.

Output files

The output files of this test are two figures, respectively the dumbbell plot and the boxplot, available in the output folder.

Robust Test

Dataset

All test cases are generated by a python script available here in the algorithm folder. The generated test cases are summarized in the robust folder within the input folder. The script also returns a json file containing the average edge number in each 10 test cases associated with a pair of (n, V).

Source code

We implemented the ILP method as a python script using the pulp package here in the algorithm folder. And the source code of our method is available here in the algorithm folder.

Output files

The output files of the ILP script and our method's script are json files available here and here in the output folder. The figure given in our paper is written in JavaScript based on this summarized result file.