Elsevier

Computers & Graphics

Volume 30, Issue 1, February 2006, Pages 86-97
Computers & Graphics

Technical Section
A multi-graph approach to complexity management in interactive graph visualization

https://doi.org/10.1016/j.cag.2005.10.015Get rights and content

Abstract

In this paper we describe a new, multi-graph approach for development of a comprehensive set of complexity management techniques for interactive graph visualization tools. This framework facilitates efficient implementation of management of multiple associated graphs with navigation links and nesting of graphs as well as ghosting, folding and hiding of unwanted graph elements. The theoretical analyses show that the involved data structures and operations on them are quite efficient, and an implementation in a graph drawing tool has proven to be successful.

Introduction

Graphs are commonly used to model relational information that arises in numerous areas including Web analysis, relational databases, biochemical networks, telecommunication networks, financial analysis, software engineering and geographical studies. Elements are the nodes in a graph; relations or links are the edges in a graph. The usefulness of the relational model depends on whether the drawing, or the layout, of the graph effectively conveys the relational information to the users. A poorly drawn diagram with a large number of graph elements confuses the user of an application, while a well laid out diagram with a reasonable number of graph elements improves the user's comprehension of the data.

Considerable amount of research in graph drawing [1], [2] has been done over the past couple of decades. As graphical user interfaces have improved, and more state-of-the-art software tools have incorporated visual functions, interactive graph editing and diagramming facilities have become important components in visualization systems. The increase in the size of the information (e.g., size of information databases and the complexity of their structures) to be visualized forced the demand for more sophisticated complexity management techniques for many applications (see Fig. 1 for examples of complex real-life graphs).

In this paper, we present a comprehensive framework for visualizing complex graphs with the help of a variety of techniques. This framework meets the industry requirements for generality (works for all sorts of directed and undirected graphs), efficiency (works well within an interactive tool), and extendibility (can be easily customized).

The base structure of our framework is a graph manager, which is an extension of the well-known compound graphs [3], [4]. A graph manager is defined as a collection of related simple graphs (i.e., graphs without any nesting or inclusion) and methods to apply changes on these graphs. Therefore, it represents both the underlying data structures and the operations defined on these structures. The most significant and novel features of this framework can be summarized as follows:

  • It is based on a new structure, namely graph manager, which consists of multiple, possibly independent simple graphs. Multiple graphs allow us to define isolated abstraction levels.

  • It is mainly designed for interactive use and dynamically changing data. The topology of a graph manager may be efficiently edited. The clear separation of abstraction levels increase the efficiency of interactive operations performed locally on a single graph.

  • Most common complexity management operations (e.g., expanding and collapsing a node, folding a group of nodes, and hiding parts of a graph manager) can be efficiently implemented on top of the graph manager structure.

  • Empirical results of an implementation of the system verifies that the framework satisfies industry standards for generality and efficiency.

Section snippets

Related work

A good deal of research has been conducted and results have been incorporated into various frameworks and tools to solve the complexity management problem for complex and/or large graphs. Some studies [5], [6], [3] describe how to extend graphs with a hierarchical structure. Some frameworks were designed to specifically create clusters based on a given data set [7], [8]. HGV [9] is a framework with support for multiple views and hierarchies. Systems for efficient layout of compound graphs have

Graph managers

A graph G is defined by two finite sets V and E, such that E[V]2. The elements of V are the nodes (or vertices) of G, and the elements of E are the edges of G. An edge e is given as (u,v), where uV is the source node of e and vV is the target node of e.

A rooted tree T is defined by a node set V, an edge set E, and a node r, such that for every node aV-{r}, there is a unique path p from r, the root of the tree, to a.

A graph manager M=(S,I,F) is a structure based on compound graphs, defined

Drawing managed graphs

Drawing the structures inside a graph manager requires many additional structures on top of the ones described earlier. At the drawing layer every graph member has a geometry describing the location, dimension or routing of the member in its owner graph. Some elements like the node and edge labels, have their coordinates maintained relative to their owner graph members. Briefly the major design criteria are as follows:

  • Ability to define flexible viewports from any graph of the graph manager.

Complexity management operations

In preceding sections, the structure of our framework and the way it handles multiple associated graphs with nesting relations have been described. This section will detail out and present an analysis of the complexity management operations built on this structure.

It is crucial that such operations are efficient enough to be used as part of an interactive graph drawing and editing tool. Our framework allows one to efficiently implement the complexity management operations described previously.

Implementation

Fig. 11 shows a class diagram summarizing the framework architecture. In this diagram, only the major inheritance and aggregation relations along with significant data and functionality of each class have been included. The underlying classes might be classified into two: abstract level graph manager and its components, and the corresponding drawing level classes.

Major parts of our framework and most complexity management operations discussed earlier on have been successfully implemented and

Conclusion

We have described a comprehensive framework for development of complexity management techniques for interactive graph visualization tools. The architecture supports management of multiple associated graphs on which various complexity management operations such as navigation, folding, and nesting may be applied. Clear separation of abstractions facilitates more efficient manipulation of both the topology and the geometry of graphs. The implementation as well as the theoretical analysis of this

References (19)

  • G. Di Battista et al.

    Graph drawing, algorithms for the visualization of graphs

    (1999)
  • U. Dogrusoz et al.

    Graph visualization toolkits

    IEEE Computer Graphics and Applications

    (2002)
  • K. Sugiyama et al.

    Visualization of structural information: automatic drawing of compound digraphs

    IEEE Transactions on Systems Man and Cybernetics

    (1991)
  • K. Fukuda et al.

    Knowledge representation of signal transduction pathways

    Bioinformatics

    (2001)
  • Eades P, Feng Q. Multilevel visualization of clustered graphs. In: North S, editor. Graph drawing, Proceedings of the...
  • D. Harel

    On visual formalisms

    Communications of the ACM

    (1988)
  • R. Brockenauer et al.

    Drawing graphs: methods and models

    (2001)
  • Duncan C, Goodrich M, Kobourov S. Balanced aspect ratio trees and their use for drawing very large graphs. In:...
  • Raitner M. HGV: a library for hierarchies, graphs and views. In: Goodrich SKMT, editor. Graph drawing, Proceedings of...
There are more references available in the full text version of this article.
View full text