6. SAGE Automatic Graphics Generation

The impetus for the Visage project originated with a project on a related system called SAGE [12], whose goal was to provide ways to generate data visualizations automatically. SAGE is a knowledge-based presentation system that designs displays of combinations of diverse information (e.g. quantitative, relational, temporal, hierarchical, categorical, geographic). We have explored the use of SAGE to automatically assume the burden of visualizing information for other applications and for computer-supported graphic design. In the latter case, users interactively specify some or all of the graphical choices that SAGE must consider in generating displays of data. They do this by creating rough sketches of the graphics they want using a draw-like interface (called SageBrush) or by using a portfolio interface to browse previously created graphics to find some relevant to current needs (called SageBook).

SAGE's inputs include sets of data, a characterization of the properties of the data and the tasks that the graphics should be designed to support, and an optional set of design specifications, expressing a user's preferences for how the data set should be visualized. SAGE's output consists of one or more coordinated sets of 2D information graphics that use a variety of techniques to integrate multiple data attributes within a single display. SAGE integrates multiple attributes by representing them as different properties of the same set of graphical objects (e.g. color-coded bars), by assembling graphical objects into clusters that function as units to express data (e.g. gauges and text within nodes of networks), and by aligning multiple charts and tables with respect to a common axis.

The SAGE work has been successful for creating hundreds of integrative graphics. Our previous work developed an architecture within which basic data manipulation operations can be applied to coordinated combinations of SAGE graphics (e.g. painting, dynamic queries, and aggregation). However, to be useful in data-intensive environments, it was necessary to develop the kinds of information-centric data manipulation approaches that are described here, especially the ability to: transfer objects across displays, turn displays into briefing materials, coordinate painting with application interfaces, and provide drill-down and roll-up operations for every object.

In order to achieve this, we separated SAGE's knowledge-based design engine from the process of rendering its graphics. Thus SAGE has become a "visualization design server", which provides specifications of its designs to be rendered in Visage. The Visage renderer interprets SAGE designs, renders them in Visage frames, and populates them with visual elements whose appearance is specified by the SAGE design. Once rendered in this fashion, visualizations are subject to all the Visage operations.

Integrating the two systems combines the strengths of Visage's information-centric manipulation operations with SAGE's graphics repertoire. We have also successfully added scripts to SAGE visualizations to perform special data manipulation operations and user interface functions for applications. This appears to be a promising combination of visualization creation technology and user interface development tools.

A parallel research and development effort is continuing to incorporate new design knowledge for creating 3D, animation and other visualization techniques in SAGE - especially for large data sets. As these are added to SAGE, we will explore the implications of applying current operations within the Visage environment to these new techniques.


Next Section: Acknowledgements & References

Paper Index

Back to the Visage Home Page