Using constraints to achieve stability in automatic graph layout algorithms

Automatic layout algorithms are commonly used when displaying graphs on the screen because they provide a “nice” drawing of the graph without user intervention. There are, however, a couple of disadvantages to automatic layout. Without user intervention, an automatic layout algorithm is only capable of producing an aesthetically pleasing drawing of the graph. User- or application-specified layout constraints (often concerning the semantics of a graph) are difficult or impossible to specify. A second problem is that automatic layout algorithms seldom make use of information in the current layout when calculating the new layout. This can also be frustrating to the user because whenever a new layout is done, the user's orientation in the graph is lost. This paper suggests using layout constraints to solve both of these problems. We show how user-specified layout constraints may be easily added to many automatic graph layout algorithms. Additionally, the constraints specified by the current layout are used when calculating the new layout to achieve a more stable layout. This approach allows a continuum between manual and automatic layout by allowing the user to specify how stable the graph's layout should be.

[1]  Mitsuhiko Toda,et al.  Methods for Visual Understanding of Hierarchical System Structures , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[2]  Carlo Batini,et al.  An Algorithm for Automatic Layout of Entity-Relationship Diagrams , 1983, ER.

[3]  Dan Simpson,et al.  Proc. of the 1st European Software Engineering Conference on ESEC '87 , 1987 .

[4]  Walter F. Tichy,et al.  Knowledge-based Editors for Directed Graphs , 1987, ESEC.

[5]  Peter Jackson,et al.  Introduction to expert systems , 1986 .

[6]  Carlo Batini,et al.  A layout algorithm for data flow diagrams , 1986, IEEE Transactions on Software Engineering.

[7]  James F. Allen Maintaining knowledge about temporal intervals , 1983, CACM.

[8]  Robert H. Henry,et al.  Automatic layout of large directed graphs , 1988 .

[9]  Lawrence A. Rowe,et al.  A browser for directed graphs , 1987, Softw. Pract. Exp..

[10]  Vice President,et al.  An Introduction to Expert Systems , 1989 .

[11]  K. P. Vo,et al.  DAG—a program that draws directed graphs , 1988, Softw. Pract. Exp..

[12]  Alan K. Mackworth Consistency in Networks of Relations , 1977, Artif. Intell..

[13]  Gabriel Robins,et al.  The isi grapher: a portable tool for displaying graphs pictorially , 1987 .

[14]  Ugo Montanari,et al.  Networks of constraints: Fundamental properties and applications to picture processing , 1974, Inf. Sci..

[15]  Carlo Batini,et al.  Automatic graph drawing and readability of diagrams , 1988, IEEE Trans. Syst. Man Cybern..

[16]  Frances Paulisch An interface description language for graph editors , 1988, VL.