PAOHvis: Analyzing Dynamic Hypergraphs with Parallel Aggregated Ordered Hypergraph Visualization


Parallel Aggregated Ordered Hypergraph (PAOH) is a novel technique to visualize dynamic hypergraphs. Hypergraphs are a generalization of graphs where edges can connect more than two vertices. Hypergraphs can be used to model co-authorship networks with multiple authors per article, or networks of business partners. A dynamic hypergraph evolves over discrete time slots. A PAOH display represents vertices as parallel horizontal bars and hyperedges as vertical lines that connect two or more vertices. We believe that PAOH is the first technique with a highly readable representation of dynamic hypergraphs without overlaps. It is easy to learn and is well suited for medium size dynamic hypergraph networks such as those commonly generated by digital humanities projects - our driving application domain.


Valdivia, P., Buono, P., Plaisant, C., Dufournaud, N. and Fekete, J-D., Analyzing Dynamic Hypergraphs with Parallel Aggregated Ordered Hypergraph Visualization. IEEE Transactions on Visualization and Computer Graphics, Institute of Electrical and Electronics Engineers, In press, ⟨10.1109/TVCG.2019.2933196⟩.

Valdivia, P., Buono, P., Plaisant, C., Fekete, J-D. and Dufournaud, N., Using Dynamic Hypergraphs to Reveal the Evolution of the Business Network of a 17th Century French Woman Merchant, Proceeding of the VIS4DH Workshop (2018) 1-5


PAOHvis video

AVIZ and ILDA Coauthorship Network

Online Demo

You can play with a web prototype of the program by clicking on this link.

You can also run it locally if you have a local web server such as python. Download the zip file, unzip it, and start a web server from the `paohvis` directory like that:

python -m http.server

Then, on your browser, open the following URL: http://localhost:8000/paoh.html

CSV format

To create your own dynamic hypergraph, use a spreadsheet program or your favorite text editor and save it into a CSV file encoded in UTF-8. Be careful, Microsoft Excel does not generate UTF-8 for international characters, but LibreOffice does. Make sure that the separator character is a coma (,) since some spreadsheet programs will insist in using semi-colon, colon, or a tabulation character instead. Even the slightest error in the CSV file will prevent PAOHVis from loading your file.

The CSV file should contain the following columns, with no header line at all. The first line of your CSV file should contain valid data.

edge_id, node_name, time_slot, edge_name_description, group_name

About the CSV format (assuming a use case of documents and people)

Each row is a link between a document and a person:

  • 1st column: the id of a document (that mentions people)
  • 2nd column: the name of a person
  • 3rd column: the date or really the name of the "time-slot".
Note that if you use periodic time slots (e.g. years or months) some months may be empty and the empty time-slots will not appear in the visualization.  If you don’t want that to happen you can create a fictitious person "_"  who appears in a fictitious document in those empty months.
  • 4th column [optional]: the name of the document.  It is shown when the tooltip option is ON.
If the name of the document associated with the same document id is different between rows, the last one will be shown in the tooltip.
  • 5th column [optional]: the group the person belongs to, for the time slot of this document.
If the group of the person associated with the same time slot is different between rows, the first one will be shown in the tooltip.
  • The rest columns are ignored

The two last columns can be left blank for all rows.


This is a csv example with 6 documents, 5 people, 4 time slots and 2 groups:

3,John,2001,Skype Minute,AAA
3,Alex,2001,Skype Minute,B

Case Studies Using PAOHVis

Source Code

You can access the source code here:


E-mail all co-authors

  • Paola Valdivia
  • Paolo Buono
  • Catherine Plaisant
  • Nicole Dufournaud
  • Jean-Daniel Fekete