next up previous
Next: Conclusion Up: Illustrated Principles Previous: Exploring Visual Representations

Application of Operators

In the process of data exploration, a large amount of user interaction is the application of operators to datasets. The visualization spreadsheet facilitates these interactions by enabling users to explore 'what-if' scenarios in a structured environment. For example, users can copy and then modify the contents of a cell, or perform a operation on two cells and put the result in a third cell. Whereas the application of operators has largely been viewed as a sequential process in other environments, the spreadsheet environment is capable of supporting non-sequential spontaneous explorations.

In the algorithm visualization of Figure 3, we show how the visualization spreadsheet can be used to quickly perform operations between successive steps of the 3D Delaunay triangulation. For example, by adding the geometric contents of cells together, the user can aggregate representations together to create new representations that show differences between the steps of the algorithm. Row 4 is the result of performing the following operations:
AddCell 4_1 3_2 3_1 2_2 2_1;
AddCell 4_2 3_3 3_2 2_3 2_2;
AddCell 4_3 3_4 3_3 2_4 2_3;
AddCell 4_4 3_4 3_3 3_2 3_1;
Cells  tex2html_wrap_inline651 shows differences between steps of the algorithm. Cell  tex2html_wrap_inline653 shows the difference between step 5 and 6, whereas tex2html_wrap_inline655 shows the difference between step 6 and 25. We can see where new points were added into the point set, as well as the structural changes in the convex hulls between steps. In cell , we see the convex hull after 25 steps is almost completely embedded inside the convex hull obtained after 50 steps. We see the blue surfaces and vertices where the convex hull has not changed. Cell  shows the aggregate of adding all of the stick models in Row 3 together. These representations are discovered after many iterations of trying different combinations of the points, sticks, and surface representations of the data in Row 1, 2 and 3.

The spreadsheet paradigm also provides a simple interface for performing operations such as set subtraction or addition. Using the similarity report example in Figure 1, let us demonstrate by first constructing Row B as a duplicate of Row A, then subtract cell A3 from each cell. Thus, B1=B1-A3, B2=B2-A3, B3=B3-A3. Cell B3 contains the empty set as expected. Cells B1 and B2 show alignments found by using far evolutionary distance parameters, but not by the near evolutionary distance parameter used in A3. The subtraction operation is a typical case of comparing two similar, but not identical datasets, something of interest to researchers in many fields. The spreadsheet approach makes such algebraic manipulations straightforward.

These algebraic operations can take on multiple semantics at different levels. At the low level, we can capture the cell images and perform image subtractions, which is done by subtracting corresponding pixels. At the mid level, we can perform geometric unit algebraic operations. In VTK, these geometric units are called ``actors'' in the scene. We can define actor objects and algebraically add them to or subtracting them from the scene. At the high level, we can perform subtractions based on domain semantics. For example, in our similarity report example above, the values are the sets of alignments, and we define two alignments to be equal if they share a region. Likewise, high-level algebraic operations in other information visualization domains should be based on domain-specific semantics.

Within the domain-specific semantic level, sometimes there are several possible definitions for the operator. For example, the set difference operator above is only one of the three possible interpretations. We actually define three different types of equality between alignments, resulting in three difference operators. The three equalities are name, overlap, and exact. In name equality, two alignments are considered equal if they occur in the same database sequence. In overlap equality, the alignments must also share an overlapping region. In exact equality, the alignments must share the same exact region.

Other than algebraic operators, our systems also provide other operations, such as animation and filtering. The algorithm animation example can be visualized as an animation of steps across the rows. The SSR system also provides animation, as well as dynamic query filtering capabilities. The animation tool provides accumulative, or sliced animation over any variable [5], and adds an extra dimension to the spreadsheet. A synchronized animation can be performed on a group of cells simultaneously. In Figure 1 for example, suppose we are interested in the distributions of the lengths of the alignments, so we animate the cells over the length variable. Animation shows the extra alignments in Cell A2 are short alignments when compared to the alignments in A1. A filtering tool enables the user to explore subsets of the data. When the user interactively adjusts sliders controlling each variable, the view is updated in real-time. Using the filtering tool, closer inspection reveals that the short alignments in A2 are between 11 and 29 residues long.

One common, but just as important, interaction is the application of direct manipulation operations such as rotation, translation, and zooming. Performing these operations in a spreadsheet environment does have an interesting twist. Often we want to be able to apply the same operation to multiple cells simultaneously. We have implemented this feature in both systems, and have found it to be extremely useful for comparison tasks. For instance, the user can click on the first row button in Figure 3 to select the first row. Then she can perform rotations simultaneously on all of the cells in that row, giving a rotationally-coordinated view of the data. This feature is useful in this situation because we want the scatter plot to be in similar orientations to provide correspondence between the points in different cells. Similarly, we found the ability to propagate these view changes to be highly valuable in the matrix visualization example of Figure 2. By selecting a row, we can compare the various visual representations in the same orientation. Or alternatively, we can select a column and compare different matrices using the same visual representation.


next up previous
Next: Conclusion Up: Illustrated Principles Previous: Exploring Visual Representations

Ed Chi
Tue Jul 22 19:31:52 PDT 1997