Chapter

Graph Drawing

Volume 7704 of the series Lecture Notes in Computer Science pp 517-528

Graph Drawing in TikZ

  • Till TantauAffiliated withInstitute for Theoretical Computer Science, Universität zu Lübeck

* Final gross prices may vary according to local VAT.

Get Access

Abstract

At the heart of every good graph drawing algorithm lies an efficient procedure for assigning canvas positions to a graph’s nodes and the bend points of its edges. However, every 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 texts, and styling nodes and edges. We present a new framework, implemented in the Lua programming language and integrated into the TikZ graphics description language, that aims at simplifying the implementation of graph drawing algorithms. Implementers using the framework can focus on the core algorithmic ideas and will automatically profit from the framework’s pre- and post-processing steps as well as from the extensive capabilities of the TikZ graphics language and the \({\hbox{\TeX}}\) typesetting engine. Algorithms already implemented using the framework include the Reingold-Tilford tree drawing algorithm, a modular version of Sugiyama’s layered algorithm, and several force-based multilevel algorithms.