Graph Drawing in TikZ
Till Tantau
Vol. 17, no. 4, pp. 495-513, 2013. Regular paper.
Abstract At the heart of every good graph drawing algorithm lies an efficient procedure for assigning canvas positions to a graph's nodes. However, any real-world implementation of such an algorithm must address numerous problems that have little to do with the actual algorithm, like handling input and output formats, formatting node labels, or styling nodes and edges. We present a new framework, written in the Lua programming language, that allows implementers to focus on core algorithmic ideas and leave all other aspects to the framework. Algorithms implemented for the framework can be used directly inside the Tikz graphics language and profit from the capabilities and quality of the TEX typesetting engine. The framework comes with implementations of standard tree drawing algorithms, a modular version of Sugiyama's layered algorithm, and several force-based multilevel algorithms.
Submitted: December 2012.
Reviewed: February 2013.
Revised: March 2013.
Accepted: March 2013.
Final: April 2013.
Published: July 2013.
Communicated by Walter Didimo and Maurizio Patrignani
article (PDF)