Stephen C. North
AT&T Laboratories
Murray Hill, NJ 07974
north@research.att.com
Summary
Dynamic graph layout addresses some interesting problems in information visualization: navigation in large graphs, display of dynamic data represented by graphs, and interactive graph editing. We will discuss some current problems in dynamic graph layout and the engineering of a interactive layout system.
Motivation
Graph drawing is an effective way of visualizing relationships between objects. Considerable progress has been achieved in automated graph layout. The types of layout algorithms that have succeeded in practice include:
Current graph drawing systems usually employ static (batch) layout algorithms. Although static layout is useful in many applications, stable dynamic layout seems to be essential in other situations:
Incremental navigation in large graphs. There is considerable interest in browsing large graphs that represent vast computer networks, linked hypertext documents, etc. Even aside from technical limitations such as display size and resolution, conventional layouts of large graphs usually offer, at best, only an overview of global properties such as a size, density, diameter, etc. Identifying individual elements and relationships ( "detail-in-context") is usually quite difficult.
Geometric fisheye viewing has been advocated for exploring detail-in-context in complicated diagrams [F86, MRC91, SB94, LR94]. As its name suggests, the technique provides a movable virtual magnifying lens. The technique has not yet been popularly accepted for browsing large graphs. One problem is that arbitrary regions of large layouts often may not make much sense locally. Also, it can be difficult to trace edges that cross the edge of the virtual lens. Multiple lenses complicate matters further, and achieving enough performance to support high interactivity can be a challenge, particularly when a nonlinear lens function is chosen. The adjustable level-of-detail approach embodied in Pad/Pad++ [BSH94] is a different kind of attack on this problem, but assumes hierarchically-structured data.
A key point in Furnas' 1986 paper is that a fisheye view is a logical construct not necessarily tied to a fixed geometric display. We advocate dynamic graph layout for logical fisheye viewing of large graphs. Dynamic layout offers a way of automatically adjusting the contents of views in an understandable way, without constraining the placement of objects to a fixed, static layout. In a logical fisheye view, a user initially sets a focus node or set of objects and then incrementally adjusts the visible set, adding new objects of interest and deleting others less interesting, thus navigating through a series of diagrams to explore part of a large network. (Admittedly, such views are not necessarily repeatable: the same place in the graph may look different when reached by different traversals. On the other hand, repeatability has not usually been considered important even for static layout.)
Viewing dynamic data. In many settings, graph diagrams are applied to visualizing dynamic systems. Graph layout movies could be an appropriate way of showing the histories of dynamic graphs. Incremental stability is necessary for such visualizations to reveal what is actually changing in the structure of the underlying data.
Interactive graph editing. Often, user interfaces based on graph diagrams support interactive editing. Good dynamic layout algorithms could improve the usability of these interfaces. Commercial CASE tools often rely on manual node placement and automatic routing of inserted edges by local search. Though perhaps a step in the right direction, this approach seems weak in that the user has all the responsibility for node placement.
An Experimental Testbed
The design of effective dynamic layout heuristics and user interfaces is a fruitful area for research, as there is at present very little experimental experience. Our thesis in creating layout heuristics is that the highest priority be given to keeping layouts consistent with diagram-specific aesthetic rules that help reveal graph structure Subject to this, layouts should be stable so that users can retain a "mental map" of a diagram as it is adjusted [ELMS91]. Perceptual psychology has uncovered a few clues about ways that users may internalize images, such as diagrams [K94]. It seems important to understand more about the connection between vision, cognition, and aspects of layout stability such as
Experimental system building is also needed to gain experience with dynamic layout algorithms, user interfaces and applications. We have programmed a collection of graphical front-ends and dynamic layout managers. The system is organized around an event-based interface. An event has a verb (insert, modify, or delete) and a noun (a node, edge, or higher-order object) plus a attributes such as a geometric coordinates and shapes. Front ends send request events to layout managers; layout managers return graphics update events. Compound editing operations (e.g. batch loading of external diagrams) are supported through event queues. The system has three nontrivial layout managers:
The graphical interface programs are
The system is demonstrable, and we are starting to use it for informal experiments.
References
[BF95] I. Bruss and A. Frick. "Fast Interactive 3-D Graph Visualization," Proc. Graph Drawing '95, Springer LNCS 1027, pp. 99-110.
[BSH94] Benjamin B. Bederson, Larry Stead and James D. Hollan. Pad++: Advances in Multiscale Interfaces. Proc.
[E84] P. Eades. A Heuristic for Graph Drawing. Congressus Numerantium 42, p. 14-160, 1984.
[ELMS91] Peter Eades, Wei Lai, Kazuo Misue and Kozo Sugiyama. Preserving the mental map of a diagram. Compugraphics '91, Vol 1., pp. 34-43 1991.
[EW93] Stephen G. Eick and Graham .J. Wills. Navigating Large Networks With Hierarchies. Proc. IEEE Visualization '93, pp. 204-210, 1993.
[F86] George W. Furnas, "Generalized Fisheye Views" Proc. ACM CHI'86, pp. 16-23, April 1986.
[FCW67] C.J. Fisk, D.L. Caskey and L.E. West. ACCEL: Automated circuit card etching layout. Proc. IEEE 55:11, pp. 1971-1982, 1967.
[FR91] T. Fruchterman and E. Reingold. Graph Drawing by Force Directed Placement. Software Practice and Experience 21:11, pp. 1129-1164, 1991.
[GKNV93] E. Gansner, E. Koutsofios, S. North and K.-P. Vo. A Technique for Drawing Directed Graphs. IEEE Trans. Soft. Eng, 19:3, pp. 214-230, 1993.
[H88] David Harel. On Visual Formalism. CACM 31:5, p. 514-530, 1988
[HL91] M.D. Hutton and A. Lubiw. Upward Planar Drawings of Single Source Acyclic Digraphs. ACM2nd Symp. On Discrete Algs., pp. 203-211, 1991.
[HMT93] Kanth Miriyala, Scott W. Hornick and Roberto Tamassia. An Incremental Approach to Aesthetic Graph Layout, Proc 6th Intl Workshop on Computer-Aided Software Eng., pp. 297-308, 1993.
[K94] S.M. Kosslyn, Image and Brain. MIT Press, 1994.
[KK89] T. Kamada and S. Kawai. An Algorithm for Drawing General Undirected Graphs. Information Processing Letters 31, pp. 7-15, 1989.
[KS80] Joseph B. Kruskal and Judith Seery. Designing Network Diagrams. Proc. 1st General Conf. On Social Graphics, U.S. Dept. of the Census, pp. 22-50, 1980, and Bell Labs Technical Report No. 49, Murray Hill, New Jersey.
[LNS85] R. Lipton, S. North and J. Sandberg. A Method of Drawing Graphs. Proc. ACM Symp. on Comp. Geom., pp. 153-160, 1985.
[LR94] J. Lamping and R. Rao. Laying out and visualizing large trees using a hyperbolic space. Proc. ACM UIST'94, pp. 13-14, 1994.
[MRC91] J.D. Mackinlay, G.G. Robertson and S.K. Card. The perspective wall: Details and context smoothly integrated. Proc. CHI'91, pp. 173-180.
[N95] S. North. Incremental Layout in DynaDag. Proc. Graph Drawing '95, Springer LNCS 1027, pp. 409-418, 1995.
[PT94] A. Papakostas and I. Tollis. Improved Algorithms and Bounds for Orthogonal Drawings. Proc. Graph Drawing '94, Springer LNCS 894, pp. 40-51, 1994.
[RMC93] G.G. Robertson, J.D. Mackinlay and S.K. Card. Information Visualization using 3D Interactive Animation. CACM 36:4, pp. 57-71, 1993.
[SB94] Manojit Sarkar and Marc H. Brown. "Graphical Fisheye Views", CACM 37:12, pp. 73-84, Dec. 1994
[STT81] K. Sugiyama, S. Tagawa and M. Toda. Methods for Visual Understanding of Hierarchical System Structure. IEEE Trans. Systems, Man and Cybernetics, 11:2, pp. 109-125, 1981.
CHI'94, pp. 315-316, 1994.