Graph Visualization

Yifan Hu and Martin Nollenburg¨

Synonyms Overview

Graph visualization is concerned with • Graph Layout visual representations of graph or net- • Network Visualization work data. Effective graph visualization reveals structures that may be present in the graphs, and helps the users to under- stand and analyze the underlying data. Definition A graph consists of nodes and edges. It is a mathematical structure describing Graph visualization is an area of math- relations among a set of entities, where ematics and computer science, at the a node represents an entity, and an edge intersection of geometric exists between two nodes if the two cor- and information visualization. It is responding entities are related. concerned with visual representation A graph can be described by writing of graphs that reveals structures and down the nodes and the edges. For ex- anomalies that may be present in the ample, this is a of people data, and helps the user to understand and how they relate to each other: and reason about the graphs. {Andre ↔ Beverly, Andre ↔ Diane, An- dre ↔ Fernando, Beverly ↔ Garth, Beverly ↔ Ed, Carol ↔ Andre, Carol ↔ Diane, Carol ↔ Fernando, Diane ↔ Beverly, Diane ↔ Garth, Diane ↔ Ed, Farid ↔ Aadil, Farid ↔ Latif, Farid ↔ Izdihar, Fernando ↔ Diane, Fernando ↔ Garth, Fernando ↔ Heather, Garth ↔ Ed,

1 2 Yifan Hu and Martin Nollenburg¨

Garth ↔ Heather, Heather ↔ Jane, Izdihar ↔ ternative types of graph representations Mawsil, Jane ↔ Farid, Jane ↔ Aadil, Latif ↔ see the survey of von Landesberger et al Aadil, Mawsil ↔ Latif}. (2011). This social network tells us that The algorithmic graph layout prob- “Farid” is a friend of “Aadil”, “Latif” is lem consists in finding node positions a friend of “Aadil”, and so on. However, in the plane (or in 3-dimensional space) this mathematical notation of the net- and edge representations as straight lines work does not convey immediately the or simple curves such that the resulting structure of the network. On the other layout faithfully depicts the graph and hand, Fig. 1 shows a visualization of this certain aesthetic quality criteria are graph. We can see at a glance that this satisfied and optimized. We list the graph has two clusters. This example most common criteria. The influence of illustrates that graph visualization can most of them on human graph reading give us an overall sense of the data. It tasks has been empirically confirmed reveals structures and anomalies, and (Purchase 1997). helps us to ask questions that can in turn be answered through interacting with • crossings: the fewer edge crossings the visualization itself, or by writing the better (a layout without crossings algorithms to mine the data for evidence exists only for planar graphs) seen in the visualization. • bends: the fewer edge bends the bet- In this chapter, a graph G = (V,E) ter; ideally edges are straight-line consists of a set of nodes (vertices) V, • edge lengths: use as uniform edge and a set of edges E, which are pairs of lengths as possible nodes. Denote by n = |V| and m = |E| • angular resolution: angles between the number of nodes and edges, respec- edges at the same node should be tively. If there is an edge from node i to large node j, we denote that as i → j. If the • crossing angles angles of pairs of graph is undirected, then we denote the crossing edges should be large edge as i ↔ j, and call i and j neighbor- • area and aspect ratio: the layout ing (or adjacent) nodes. should be as compact as possible • edge slopes: few and regularly spaced edge slopes should be used (e.g., orthogonal layouts use only Node-Link Diagrams and horizontal and vertical edges) Layout Aesthetics • neighborhood: neighbors of each node in the graph should be neigh- bors in the layout as well By far the most common type of graph layout is the so-called node-link dia- The above list is not comprehensive gram as seen in Fig. 1. Here nodes are and there may be additional application- represented by points or simple geomet- specific constraints and criteria or global ric shapes like ellipses or rectangles, aspects such as displaying symmetries. whereas edges are drawn as simple Moreover, some criteria may contradict curves linking the corresponding pair each other. Typically only a subset of cri- of nodes. In this chapter we restrict our teria is optimized by a graph layout al- attention to node-link diagrams; for al- Graph Visualization 3

����� ������� ����� ���� ����� ������� �� ����� ����� �������� ������ ����� ������� �����

Fig. 1 Graph visualization of a small social network.

gorithm and trade-offs between different two types. For convenience, we call the criteria need to be considered. first type Spring-electrical model, and the second type Spring/Stress model.

Key Research Findings Spring-electrical model

Undirected Graph Drawing This model was first introduced by Peter Eades (1984). A widely used variant, which is given below, is due to The layout algorithms and techniques Fruchterman and Reingold (1991). The presented in this section do not make model is best understood as a system of use of edge directions, but they can springs and electrical charges, therefore obviously be applied to both undirected we name this as the Spring-electrical and directed graphs. Undirected graphs model, to differentiate the spring/stress are often represented by node-link model that relies on springs only, even diagrams with straight-line edges. We though historically both are called denote by x the location of node i in i spring embedders. the layout. Here x is a point in 2- or i In this model, each edge is replaced 3-dimensional Euclidean space. by a spring with an ideal length of 0, Spring embedders (Eades 1984; which pulls nodes that share an edge Fruchterman and Reingold 1991; together. At the same time, imagine that Kamada and Kawai 1989) are the nodes have the same type of electrical most widely used layout algorithms charges (e.g., positive) that push them for undirected graphs. They attempt apart. Specifically, there is an attractive to find aesthetic node placement by spring force exerted on node i from its representing the problem as one of neighbor j, which is proportional to minimizing the energy of a physical the squared between these two system. The guiding principles are that nodes, nodes that are connected by an edge should be near each others, while no nodes should be too close to each other 2 xi − x j xi − x j (cf. neighborhood aesthetic). Depending Fa(i, j) = − , i ↔ j, K x − x on the exact physical model, we could i j (1) further divide the spring embedders into 4 Yifan Hu and Martin Nollenburg¨ where K is a parameter related to the original graph, each captures the essen- nominal edge length of the final layout. tial connectivity information of its par- The repulsive electrical force exerted on ent. The force-directed algorithm can be node i from any node j is inversely pro- applied to this sequence of graphs, from portional to the distance between these small to large, each time using the layout two nodes, of the smaller graph as the start layout for the larger graph. Combining the mul-

2 tilevel algorithm and the force approx- K xi − x j imation technique, algorithms based on Fr(i, j) = , i 6= j. xi − x jk xi − x j the spring-electrical model can be used (2) to layout graphs with millions of nodes The spring-electrical model can be and edges in seconds (Walshaw 2003; solved with a force-directed procedure Hu 2005). by starting from an initial (e.g., random) layout, calculating the combined attrac- tive and repulsive forces on each node, Spring/Stress Model and moving the nodes along the direc- tion of the force for a certain step length. The spring model, also know as the This process is repeated, with the step stress model, assumes that there are length decreasing every iteration, until springs connecting all pairs of nodes in the layout stabilizes. This procedure is the graph, with the ideal spring length formally stated in Algorithm 1. equal to the graph theoretical distance The spring-electrical model as de- between the nodes. The spring energy, scribed by equations 1-2 cannot be used also known as the stress, of this spring directly for large graphs. The repulsive system is force exists on all pairs of nodes, so the computational complexity is quadratic  2 in the number of nodes. Force approx- ∑ wij xi − x j − dij , (3) imation techniques based on space i6= j decomposition data structure, such as the Barnes-Hut algorithm, can be used where dij is the ideal distance between to approximate the repulsive forces nodes i and j. The layout that minimizes the above stress energy is an optimal lay- efficiently (Tunkelang 1999; Quigley 2 2001; Hachul and Junger¨ 2004). out of the graph. Typically wij = 1/dij . For large graphs, the force-directed The spring model was proposed by algorithm, which uses the steepest de- Kamada and Kawai (1989) in graph scent process and re-positions one node drawing, although it dates back to Mul- at a time to minimize the energy locally, tidimensional Scaling (MDS) (Kruskal is likely to be stuck at local minima, 1964; Kruskal and Seery 1980), and because the physical system of springs the term MDS is sometimes used to and electrical charges can have many lo- describe the embedding process based cal minimum configurations. This can be on the stress model. overcome by the multilevel technique. In There are several ways to minimize this technique, a sequence of smaller and the spring energy (3). A force-directed smaller graphs are generated from the algorithm could be applied, where the Graph Visualization 5

Algorithm 1 ForceDirectedAlgorithm(G,x,tol,K)

1 input: graph G = (V,E), initial positions x, tolerance tol, and nominal edge length K 2 set step = initial step length 3 repeat 4 x0 = x 5 for (i ∈ V) { 6 f = 0 // f is a 2/3D vector 7 for ( j ↔ i, j ∈ V) f ← f + Fa(i, j) // attractive force, see equation (1) 8 for ( j 6= i, j ∈ V) f ← f + Fr(i, j) // repulsive force, see equation (2) 9 xi ← xi + step ∗ ( f /|| f ||) // update position of node i 10 } 11 until (||x − x0|| < tol ∗ K) 12 return x

 force exerted on node i from all other Lw,d y i = ∑wil dil(yi −yl)/kyi − ylk. nodes j ( j 6= i) is l6=i (7) Here matrix Y is the current best guess of xi − x j the optimal layout in 2D. The solution X F(i, j) = −wij( xi − x j −dij) . xi − x j serves as Y in the next iteration. A good (4) initial layout Y is often helpful to achieve In recent years the stress majorization a good final layout. technique (Gansner et al 2004) became On large graphs, the stress model (3) a preferred way to minimize the stress is not scalable. Formulating the model model due to its robustness. requires computing the all-pairs shortest In the stress majorization pro- distances, and a quadratic amount cess, systems of linear equations are of memory to store the distance matrix. repeatedly solved, Furthermore the solution process has a computational complexity at least LwX = Lw,d Y (5) quadratic in the number of nodes. In here X and Y are matrices of dimension recent years there have been attempts n × 2, and the weighted Laplacian ma- (Brandes and Pich 2007; Gansner et al 2013; Ortmann et al 2016) at developing trix Lw is positive semi-definite and has elements more scalable ways of drawing graphs that still satisfy the user specified edge length as much as possible, without  ∑l6=i wil, i = j having to carry out the all-pairs shortest (Lw)ij = (6) −wij, i 6= j path distances. and the right-hand-side Lw,d y has ele- ments 6 Yifan Hu and Martin Nollenburg¨

Directed graph drawing small set of so-called feedback edges algorithms whose reversal yields an acyclic graph. The subsequent steps will draw this acyclic graph and in the Directed graphs express relations end of the process the original edge that have a source and a target, e.g., directions are restored. Finding a senders and recipients of messages or minimum set of edges to reverse hierarchical relationships in an orga- is equivalent to finding a so-called nization. Using arrowheads to indicate minimum feedback arc set, a classical directions, any undirected graph layout NP-hard problem (Karp 1972). algorithm can be used for visualizing Several heuristics and approxima- directed graphs. Yet, often the edge tions algorithms can be used to directions carry important information find small feedback edge sets in that should directly influence the layout practice (Gansner et al 1993; Eades geometry. In this section we discuss et al 1993). layout algorithms that make use of edge 2. Layer assignment. This step assigns directions. each node to a horizontal layer, which can be thought of as an integer y-coordinate, such that all Layered graph layout edges point upward. Multiple nodes can be assigned to the same layer. Layered graph layout is particularly Typical goals in this phase are to useful for hierarchical graphs, which find compact layer assignments that have no or only few cyclic relationships. use few layers and distribute nodes For such graphs it is a natural to ask evenly to the layers, while ensuring for a drawing, in which all or most that all edges point from a lower edges point into the same direction, layer to a higher layer. After the layer e.g., upward. A classic algorithmic assignment, some edges may span framework for upward graph layouts several layers. Such long edges are is layered graph drawing, often also usually subdivided by dummy nodes known as Sugiyama layout named after to guarantee that for the next step all the fundamental paper by Sugiyama edges connect nodes in neighboring et al (1981). Each node is assigned to a layers. In order to keep edges short, a layer and for each edge it is required that natural goal is to minimize the num- the layer of the source node is below the ber of dummy nodes needed. Suitable layer of the target node. For a detailed layer assignments can be computed survey of layered graph layout methods efficiently for most optimization see Healy and Nikolov (2014). goals, e.g., minimizing the number of The process of computing layered layers based on topological sorting graph layouts consists of a series of four of the graph. For compact layouts steps. Each step influences the input to with few dummy nodes and bounds the subsequent steps and thus also the on the number of nodes per layer the achievable layout quality. ILP-based algorithm of Gansner et al 1. removal. If the graph contains (1993) provides good results. directed cycles, this step determines a Graph Visualization 7

3. Crossing minimization. The cross- Layouts for Specific Graph ing minimization step needs to Classes determine the node order in each layer such that the number of edge Previous sections covered visualization crossings among the edges between algorithms for general undirected and two neighboring layers is minimized. directed graphs. There is a variety of Crossing minimization between tailored algorithms for more specific two layers is again an NP-hard graph classes, including prominent ex- optimization problem (Eades and amples such as trees and planar graphs. Wormald 1994). Several heuristics These algorithms exploit structural and (non-polynomial) exact algo- properties when optimizing certain rithms for minimizing crossings layout aesthetics. It is beyond the scope between neighboring layers are of this chapter to cover such specific known and evaluated in the experi- graph classes and their visualization mental study by Junger¨ and Mutzel algorithms. Rather we refer to Rusu (1997). For computing node orders (2013) for a survey on tree layout and in all layers usually a layer-by-layer to Duncan and Goodrich (2013) and sweep method is applied that cycles Vismara (2013) for surveys on planar through all layers and optimizes graph layout. Further general books on node orders in neighboring layers, graph drawing algorithms (Di Battista but global multi-level optimization et al 1999; Tamassia 2013) contain methods exist as well (Chimani et al chapters on specific layout algorithms. 2011). 4. Edge routing. Once layers and node orders in each layer are fixed it remains to assign x-coordinates to Examples of Application – all nodes (including dummy nodes) Graph Visualization Software that respect the node orders and optimize the resulting edge shapes. A typical optimization goal is to draw There are many software packages edges as vertical as possible with and frameworks for visualizing and few bends for long edges (or with drawing graphs. A non-exhaustive list of at most two bends with a strictly non-commercial ones are given below. vertical middle segment) while main- We divide the list into two parts. The taining a minimum node spacing in follow are packages that can handle each layer and avoiding node-edge relatively large graphs overlaps. Algorithms for coordinate • Cytoscape is a Java based software assignment either use mathematical platform particularly popular with the programming (Sugiyama et al 1981; biology community for visualizing Gansner et al 1993) or a linear-time molecular interaction networks and sweep method (Brandes and Kopf¨ biological pathways. 2002). • Gephi is a Java based network anal- ysis and visualization software pack- age which is able to handle static and 8 Yifan Hu and Martin Nollenburg¨

dynamic graphs. It is supported by a a WebGL based JavaScript library consortium of french organizations. VivaGraph could be used for larger • Graphviz is one of the oldest open- graph visualization in the browser. source graph layout and rendering engines, developed at AT&T Labs. It is written in C and C++ and hosts layout algorithms for both undirected Future Directions for Research (multilevel spring-electrical and stress models) and directed graphs Since the 1980’s, a great deal of progress (layered layout), as well as various has been made in laying out graphs. graph theory algorithms. Graphviz The key enabling techniques are fast is incorporated in Doxygen, and force approximations, the multilevel ap- available via R and Python. proach, and techniques for the efficient • OGDF is a C++ class library for auto- solution of the stress models. In addi- matic layout of diagrams. Developed tion, progress in the speed of GPU and and supported by German and Aus- graphics library also made it possible to tralian researchers, it contains spring- display graphs with millions of nodes electrical algorithms with fast multi- and edges. Furthermore, there has also pole force approximation, as well as been progress in abstracting the visual layered, orthogonal and planar layout complexity of large graphs, for example, algorithms. by grouping similar nodes together, • Tulip is a C++ framework originating and representing certain subgraphs such from University of Bordeaux I for de- as cliques as a motif. But as graphs veloping interactive information vi- become increasingly large, complex, sualization applications. One of the and time-dependent, there are a number goals of Tulip is to facilitate the reuse of challenges to be addressed. of components; it integrates OGDF graph layout algorithms as plugins. The following are a few other free The Increasing Size of the software each with its own unique merit, Graphs but not designed to work on very large graphs. For example, The size of graphs is increasing expo- • Dunnart is a C++ diagram editor de- nentially over the years (Davis and Hu veloped at Monash University, Aus- 2011). Social networks are one area tralia. Its unique feature is the ability where we have graphs of unprecedented to layout diagrams with constraints. size. As of late 2017, Facebook, for • D3.js is a popular JavaScript library example, has over 2.07 billion monthly for manipulating web documents active users, while Twitter has over based on data. It contains spring- 330 million. Other data sources may electrical model based layout be smaller, but just as complex. For modules solved by a force directed instance, Wikipedia currently has 5.5 algorithm. Since D3 works with million interlinked articles, while Ama- SVG, it cannot scale beyond a few zon offers around 400 million items, thousand graphical objects. However, with recommendations connecting each Graph Visualization 9 item to other like-items. All these pale in Since the purpose of visualization is comparison when we consider that there to help us to understand the structures are 100 billion interconnected neurons and anomalies in the data, for very large in a typical human brain, and trillions of graphs, it is likely that we need algo- websites on the Internet. Each of these rithms to discover structures and anoma- graphs evolves over time. Furthermore, lies first (Akoglu et al 2010), and display graphs like these tend to exhibit the these in a less cluttered form, but allow- small-world characteristic, where it is ing the human operator to drill down to possible to reach any node from any details when needed. other in a small number of hops. All Node-link diagram representation, these features present challenges to while most common, may not be the existing algorithms (Leskovec et al most user-friendly to the general public, 2009). nor is it the most pixel-efficient. Other The unique features of these networks representations, such as a combination call for rethinking of the algorithms and of node-link diagrams and matrices visual encoding approaches. The large (Henry et al 2007), have been proposed. size of some networks means that find- Large complex networks call for fast ing a layout for such a graph can take and interactive visualization systems hours even with the fastest algorithms to navigate around the massive amount available. There has been work in using of information. A number of helpful GPUs and multiple CPUs (e.g., (Ingram techniques for exploring graphs interac- et al 2009)) to speed up the computation tively, such as link-sliding (Moscovich by a factor of 10–100. et al 2009), have been proposed. Further Even though state of the art graph lay- research in this area, particularly at a out algorithms can handle graphs with scale that helps to make sense out of many millions of nodes and billions of networks of billions of nodes and edges, edges, with so many nodes and edges, are essential in helping us to understand the traditional node-link diagram repre- large network data. sentation is at its limit. A typical com- Finally, the stress model is currently puter screen only has a few million pix- the best algorithm for drawing graphs els, and we are running out of pixels just with predefined edge length. Improving to render every node. its high computation and memory com- One solution is to use a display with plexity is likely to remain an active area high resolution, including display walls, of research as well. and various novel ways to manipulate such a display (e.g., gesture or touch based control). But even the largest pos- sible display is unlikely to be sufficient Time-varying and Complex for rendering some of the largest social Graphs networks. One estimate puts human eyes as having a resolution of just over 500 All the large and complex networks million pixels. Therefore even if we can mentioned earlier are time-evolving. make a display with higher resolution, How to visualize such dynamic net- our eyes can only make partial use of works is an active area of research such a display at any given moment. (Frishman and Tal 2007), both in 10 Yifan Hu and Martin Nollenburg¨ terms of graph layout (van Ham and ing (GD’01), Springer-Verlag Berlin Hei- Wattenberg 2008),and in displaying delberg, LNCS, vol 2265, pp 31–44 such graphs. For example, time-varying Brandes U, Pich C (2007) Eigensolver methods for progressive multidimensional scaling of graph can be displayed as an animation, large data. In: Proc. 14th Intl. Symp. Graph or as small multiples. Researchers have Drawing (GD ’06), LNCS, vol 4372, pp 42– been studying Archambault and Pur- 53 chase (2016) whether to use one form Chimani M, Hungerlander¨ P, Junger¨ M, Mutzel or the other, when measured in terms of P (2011) An SDP approach to multi-level crossing minimization. In: Algorithm Engi- preservation of the users’ mental maps, neering and Experiments (ALENEX’11), pp and in improving comprehension and 116–126 information recall. Dynamic network Davis TA, Hu Y (2011) University of Florida visualization will likely continue to be Sparse Matrix Collection. ACM Transaction an area of strong interest. on Mathematical Software 38:1–18 Di Battista G, Eades P, Tamassia R, Tollis IG Visualizing multivariate graphs is (1999) Algorithms for the Visualization of another challenging area. In a multi- Graphs. Prentice-Hall variate graph, each node and edge may Duncan CA, Goodrich MT (2013) Planar or- be associated with several attributes. thogonal and polyline drawing algorithms. For example, in a social network, each In: Tamassia R (ed) Handbook of Graph Drawing and Visualization, CRC Press, node is a person with many possible chap 7, pp 223–246 attributes. Each edge represents a Eades P (1984) A heuristic for graph drawing. friendship which could entail multiple Congressus Numerantium 42:149–160 attributes as well, such as the type of Eades P, Wormald NC (1994) Edge crossings in friendship (e.g., school, work, church), drawings of bipartite graphs. Algorithmica 11:379–403 and the length and strength of the Eades P, Lin X, Smyth WF (1993) A fast friendship. Displaying these information and effective heuristic for the feedback arc in a way that helps our understanding set problem. Information Processing Letters of all these complex attributes is a chal- 47(6):319–323 lenge. It requires careful consideration Frishman Y, Tal A (2007) Online dynamic graph drawing. In: proceeding of Euro- of both visual design and interaction graphics/IEEE VGTC Symposium on Visu- techniques (Wattenberg 2006; Kerren alization (EuroVis), pp 75–82 et al 2014). Fruchterman TMJ, Reingold EM (1991) Graph drawing by force directed placement. Soft- ware - Practice and Experience 21:1129– 1164 References Gansner ER, Koutsofios E, North SC, Vo KP (1993) A technique for drawing directed graphs. IEEE Trans Software Engineering Akoglu L, McGlohon M, Faloutsos C (2010) 19(3):214–230 Oddball: Spotting anomalies in weighted Gansner ER, Koren Y, North SC (2004) Graph graphs. In: Proceedings of the 14th Pacific- drawing by stress majorization. In: Proc. Asia conference on Advances in Knowledge 12th Intl. Symp. Graph Drawing (GD ’04), Discovery and Data Mining (PAKDD 2010) Springer, LNCS, vol 3383, pp 239–250 Archambault D, Purchase HC (2016) Can ani- Gansner ER, Hu Y, North SC (2013) A maxent- mation support the visualisation of dynamic stress model for graph layout. IEEE Trans graphs? Inf Sci 330(C):495–509 Vis Comput Graph 19(6):927–940 Brandes U, Kopf¨ B (2002) Fast and simple hor- Hachul S, Junger¨ M (2004) Drawing large izontal coordinate assignment. In: Mutzel graphs with a potential field based multi- P, Junger¨ M, Leipert S (eds) Graph Draw- level algorithm. In: Proc. 12th Intl. Symp. Graph Visualization 11

Graph Drawing (GD ’04), Springer, LNCS, Leskovec J, Lang K, Dasgupta A, Mahoney M vol 3383, pp 285–295 (2009) in large net- van Ham F, Wattenberg M (2008) works: Natural cluster sizes and the ab- based visualization of small world graphs. sence of large well-defined clusters. Internet Computer Graphics Forum 27(3):975–982 Mathematics 6:29–123 Healy P, Nikolov NS (2014) Hierarchical draw- Moscovich T, Chevalier F, Henry N, Pietriga E, ing algorithms. In: Tamassia R (ed) Hand- Fekete J (2009) Topology-aware navigation book of Graph Drawing and Visualization, in large networks. In: CHI ’09: Proceedings CRC Press, chap 13, pp 409–454 of the 27th international conference on Hu- Henry N, Fekete JD, McGuffin MJ (2007) man factors in computing systems, ACM, Nodetrix: a hybrid visualization of social New York, NY, USA, pp 2319–2328 networks. IEEE Transactions on Visualiza- Ortmann M, Klimenta M, Brandes U (2016) tion and Computer Graphics 13:1302–1309 A sparse stress model. In: Graph Draw- Hu Y (2005) Efficient and high quality force- ing and Network Visualization - 24th In- drawing. Mathematica Jour- ternational Symposium, GD 2016, Athens, nal 10:37–71 Greece, September 19-21, 2016, Revised Ingram S, Munzner T, Olano M (2009) Glim- Selected Papers, pp 18–32 mer: Multilevel mds on the gpu. IEEE Purchase HC (1997) Which aesthetic has the Transactions on Visualization and Computer greatest effect on human understanding? In: Graphics 15:249–261 Proc. 5th Intl. Symp. Graph Drawing (GD Junger¨ M, Mutzel P (1997) 2-layer straightline ’97), Springer-Verlag, LNCS, pp 248–261 crossing minimization: Performance of ex- Quigley A (2001) Large scale relational in- act and heuristic algorithms. J Graph Algo- formation visualization, clustering, and ab- rithms Appl 1(1):1–25 straction. PhD thesis, Department of Com- Kamada T, Kawai S (1989) An algorithm for puter Science and Software Engineering, drawing general undirected graphs. Infor- University of Newcastle, Australia mation Processing Letters 31:7–15 Rusu A (2013) Tree drawing algorithms. In: Karp RM (1972) Reducibility among combi- Tamassia R (ed) Handbook of Graph Draw- natorial problems. In: Miller RE, Thatcher ing and Visualization, CRC Press, chap 5, JW, Bohlinger JD (eds) Complexity of Com- pp 155–192 puter Computations, pp 85–103, DOI 10. Sugiyama K, Tagawa S, Toda M (1981) Meth- 1007/978-1-4684-2001-2 9 ods for visual understanding of hierarchical Kerren A, Purchase H, Ward MO (eds) systems. IEEE Trans Systems, Man and Cy- (2014) Multivariate Network Visualization: bernetics SMC-11(2):109–125 Dagstuhl Seminar # 13201, Dagstuhl Castle, Tamassia R (2013) Handbook of Graph Germany, May 12-17, 2013, Revised Dis- Drawing and Visualization. Chapman & cussions, Lecture Notes in Computer Sci- Hall/CRC ence, vol 8380, Springer International Pub- Tunkelang D (1999) A numerical optimization lishing approach to general graph drawing. PhD Kruskal JB (1964) Multidimensioal scaling by thesis, Carnegie Mellon University optimizing goodness of fit to a nonmetric Vismara L (2013) Planar straight-line drawing hypothesis. Psychometrika 29:1–27 algorithms. In: Tamassia R (ed) Handbook Kruskal JB, Seery JB (1980) Designing net- of Graph Drawing and Visualization, CRC work diagrams. In: Proceedings of the First Press, chap 6, pp 193–222 General Conference on Social Graphics, U. Walshaw C (2003) A multilevel algorithm for S. Department of the Census, Washington, force-directed graph drawing. J Graph Al- D.C., pp 22–50, bell Laboratories Technical gorithms and Applications 7:253–285 Report No. 49 Wattenberg M (2006) Visual exploration of von Landesberger T, Kuijper A, Schreck T, multivariate graphs. In: Proceedings of the Kohlhammer J, van Wijk JJ, Fekete JD, SIGCHI Conference on Human Factors in Fellner DW (2011) Visual analysis of Computing Systems, ACM, New York, NY, large graphs: State-of-the-art and future re- USA, CHI ’06, pp 811–819 search challenges. Computer Graphics Fo- rum 30(6):1719–1749