A metaphor is a way of explaining or understanding one thing in terms of another. Metaphors in visualization are the ways that abstract structure in data is mapped onto perceivable representations that, hopefully, allow users of the data (scientists, engineers, planners, doctors etc.) to tease out interesting relationships or structure from within that data. However visualization problems, and the metaphors that characterise their solution, have been divided into two classes: scientific visualization, and information visualization. This segregation, based on the space in which the underlying data is defined, means that interesting combinations of dataset and metaphor remain under-explored. There is some evidence that the composition of metaphors is of value to those who apply visualization in practice. It can be argued that the distinctions between scientific and information visualization are unnecessary, and are derived from concerns for optimizing dataset representation to minimize storage and access overheads. The work on this page concerns a generalised model of data spaces that allows techniques from both branches of visualization to be utilized in one pipeline, without impacting the efficient storage of large volumes of scientific data.
A number of small examples have been developed to demonstrate how visualization techniques can be combined. These have been implemented through a set of classes that extend VTK (Visualization ToolKit) with a graph dataset and filters that implement graph layout methods and the Strahler metric. Few additional classes are needed: one aim of the work is to make as much use as possible of existing visualization components. These examples are not intended as usable interfaces for specific domains or tasks, but simply to provide a small idea of the kind of combinations that are possible.
| Web site structure.
The tree organization of a web site (284 nodes) is shown on the left. Nodes have been positioning using a `cone-tree' layout. Edges are represented by tubes. The colour and width of tubes are determined using the Strahler metric of the nodes; see the paper by Herman et.al. in Computer Graphics Forum 17(2) for the origins of this idea. The dataset is cut by a cylidrical surface. Data inside the cutting region is rendered in full detail, showing the tree structure. Outside of the cut region, the extent of data is marked by an isosurface generated by splatting the node positions. The idea here is that the surface gives an impression of the extent and distribution of data, without overwhelming the viewer with detail and clutter. |
|
| Web site overview.
This figure is intended to provide an overview showing the distribution of data in the website above. It is obtained by projecting the nodes onto a plane, splatting the nodes, and then using the field strength at each point in the plane to generate a carpet plot, coloured by the field. This is inspired by the idea of "graph splatting" developed by R. van Liere at CWI Amsterdam. The position of the cutting cylinder relative to the overall data is also shown. Look for correspondences between regions in the overview, and the splatted regions in the detailed image above. |
|
| Web site (second example)
This is a second example based on a web site; this time the site has 829 nodes. |
|
| Overview of second site.
This shows the overview of the second site; note in particular how the large ring structure (corresponding to home pages) is revealed. |
|
These techniques are not limited to hierarchical structures. The image below, for example, is a visualization of the state transition graph derived from the simulation of a communication protocol.
|
Finite-state Simulation
Again, a Strahler metric has been used to generate the colour and line thickness. The graph is directed, and here the Strahler value gives an indication of the structural complexity of the graph reachable from each node. The thicker the line, the more complex the region that can be reached. So the 'start state' for the protocol is on the far left. |
The representations shown above can be extended for example to include labelling of nodes, the use of glyphs to distinguish nodes based on properties (e.g. file size or type), and properties of the links. Techniques are not limited to 3D space: information can be visualized in 2D, for example as a drawing of a graph, or some other representation. Further work will explore interaction and navigation techniques, and dealing with data that evolves over time.
VTK classes for supporting graph visualization are now available here.
An earlier, slightly different approach, based on providing an general-purpose extensible model of information "space" can also still be downloaded, see the data spaces page.
For more information please see my home page for how to contact me.