Visualizing very large layered graphs with quilts Benjamin Watson, David Brink, Matthias Stallman, Ravi Devajaran, Theresa-Marie Rhyne and Himesh Patel Abstract—Traditional node-link depictions of layered graphs such as flow charts and process or genealogy diagrams are in widespread use. Layers emerge from applied context (e.g. process stages or familial generations), or are inserted to improve visual clarity. However for many applications these diagrams quickly lose their utility as graph complexity grows. Layout algorithms such as crossing minimizers can preserve utility for larger graphs, but also quickly reach their limits. We introduce quilting, an interactive, matrix-based depiction for very large layered graphs that remains useful even when optimized node and link depictions have become unintelligible. We demonstrate quilting using an activity-based management (ABM) application that must depict layered graphs with thousands or even hundreds of thousands of nodes. Unlike node-link depictions, quilts depict 500-node graphs quite clearly. On typical desktop displays, quilts depicting larger graphs must be summarized. Index Terms—graph drawing, layered graphs, crossing minimization, matrix depiction 1 QUILTING FOR DEPICTING LAYERED GRAPHS Layered graphs such as structure charts, process diagrams, and flow charts have wide-ranging application. In these graphs, nodes are grouped into layers defined either by the application context, or introduced to increase visual clarity. Traditional, node-link depictions of layered graphs arrange members of a layer into a line [3][13]. Proper links connect nodes on adjacent layers; we call remaining links skip links. Crossing minimization algorithms reduce the intersection of proper links, and can improve legibility. Nevertheless, as the number of links grows, these depictions can become quite muddled, with viewers having trouble understanding graph connectivity (Figure 3). Scalability of depictions to complex graphs is also a problem for large, unlayered graphs. Matrix depictions, first suggested by Bertin [4], offer a good solution. Ghoniem et al. [11] compared the usability of node-link and matrix depictions of these graphs and found that for graphs with more than 20 nodes, matrix depictions were much clearer, with the exception of path-finding in moderately sized graphs. To address the scalability problem for layered graphs, we introduce quilts (Figure 1), a new depiction that uses matrices to visualize layered graphs. Below, we review existing methods for depicting layered graphs, describe the meaning and manufacture of quilts, and show how quilts might be used in one application. 2 DEPICTING LAYERED GRAPHS There are many layout algorithms for layered graph depiction, the best known of which is the STT method [17], based on prior work by Warfield [18] and Carpano [5]. Most methods for depicted layered graphs have three phases: layer assignment, crossing minimization, and horizontal placement. In this section, we sketch the approaches taken in these phases by this and other algorithms [3][9]. If layers are not derived directly from the application, a layout algorithm [7][8][14] can introduce them by minimizing one or more of the following objectives: (a) height, that is the number of layers (b) height given a fixed width, and (c) dummy nodes, that is the total number of layers skipped by skip links. Note that minimizing the width by itself is trivial – assign one node to each layer – but does not lead to aesthetically pleasing drawings. To minimize link crossings, algorithms permute the nodes on each layer. While this is an NP-hard problem with even just two layers [6][10], several good heuristics are available, most based on sweeping from top layer to bottom, then from bottom to top, iterating a predetermined number of times [3][9]. During each sweep, an algorithm fixes the order in the current layer while permuting the next, then fixes the order of the newly permuted layer order as a starting point for the layer after that. The final phase positions each layer at particular y-coordinates, attempting to minimize the number of bends in the skip links and/or the total/max deviation from vertical of the links issuing from the layer. This is a quadratic programming problem. As a final note, the graphs in layered depictions need not be acyclic nor even directed. If there are directed cycles, a layout algorithm can temporarily reverse some link directions to create an acyclic graph. Minimizing the number of such links is NP-hard but a reasonably good greedy algorithm exists [3]. If the graph is undirected there are many ways to assign directions to the links so as to create a directed acyclic graph (DAG) – any numbering of nodes defines a DAG if we direct all links from lower to higher numbered nodes. The main problem with this numbering is that it may not be clear what sort of numbering will result in an aesthetically pleasing depiction. 3 QUILTING LAYERED GRAPHS The quilt depiction of a layered graph is a simple adaptation of the matrix depiction for unlayered graphs [4]. We represent proper links with an achromatic matrix, and chain these matrices together with additional colored levels: rows or columns of cells representing layers (Figure 1). Each level cell corresponds to an individual layer node. To distinguish levels from one another and from matrices, we assign a unique chroma to each level. We assign each level cell a unique saturation, effectively making the color of every graph node unique. Small dots indicate the presence of proper links in matrices. Each level acts as the source level for the following matrix, and the destination level for the previous matrix. The first level contains nodes without incoming proper links, and is therefore only a source level. The last level contains nodes with no outgoing proper links, and therefore is only a destination level. We number the l levels from first to last, starting with 1. Level numbers in the quilt increase as one moves from left to right, and top to bottom. Nodes on odd-numbered levels are lined up horizontally while those on even-numbered levels appear vertically. A simple link from an odd to even level makes a left turn whose corner is the cell Benjamin Watson is with NC State University, Email: bwatson@ncsu.edu. David Brink is with the SAS Institute, Email: david.brink@sas.com. Matthias Stallman is with NC State University, Email: matt_stallman@ncsu.edu. Ravi Devarajan is with the SAS Institute, Email: ravi.devarjan@sas.com Theresa-Marie Rhyne is with NC State University, Email: tmrhyne@ncsu.edu. Himesh Patel is with the SAS Institute, Email: himesh.patel@sas.com