axes of the coordinate-system of the visualization re-
sult can be manually added, edited or deleted. The
latter case of the binding definition is used to spec-
ify the value-equality between two chart component
properties. This value-equality means that, when the
property value of one chart component is changed,
the value of the corresponding property of the other
chart component will automatically change to take the
same value. Users need to wire two nodes of two dif-
ferent subtrees in the same VSDef tree to build such
a binding. In Figure 4, we define equality relation-
ships between the lengths of the two coordinate axes
and the size of the background image of the Chart 1.
The width and the height of the background image al-
ways be equal to the lengths of the two axes of the
coordinate-system.
3.2 Relating Visual Objects in Different
Visualizations of the Same Data Set
Users can create two different visualizations using
different OOViews of the same data set. The ob-
ject IDs in these OOViews can help users to find out
the correspondence between the visual objects in the
two different visualizations. In the view node of each
OOView tree, the system will generate a table named
the selection state table which uses the ID of each data
object instance to record its selection state and the hi-
erarchical structure between this data object instance
and its sub data object instances. For the OOView
in Figure 2 (d), its selection state table directly ex-
tracts two columns, ID V DT and oID DT, from the
table in Figure 2 (b). The default selection state of
each data object instance (or sub data object instance)
is ‘false’. In the chart, if a visual object is selected
(or released), the selection state of the corresponding
data object instance in the table will become ‘true’
(or ‘false’). On the other hand, if the selection state
of a data object instance becomes ‘true’ (or ‘false’),
the corresponding visual object in the chart will be
selected (or released). Suppose that the ID of a data
object instance is ”oID” and that this data object in-
stance has n sub data object instances with ”soID i”
(0 ≤ i < n) as their IDs. We define the selection prop-
agation rule as follow:
• Downward selection propagation:
if oID=True, then, for all i, soID i = True.
• Upward selection propagation:
– Any-to-One:
if there exists i such that soID i =True,
then oID=True;
– All-to-One:
if, for any i, soID i =True, then oID=True.
In the downward selection propagation, when an ob-
ject is selected. all of its subobjects will be selected.
In the upward selection propagation, there are two
modes. In the All-to-One mode, when all the sub-
objects of an object are selected, the object will be
selected. In the Any-to-One mode, if a subobject of
an object is selected, the object will be selected. If the
selection state of any system-defined ID is changed
in an OOView tree, the system will propagate this
change to all the OOView trees created from the same
two-level tree. All the selection states of the same
system-defined ID in different tables should be the
same. By updating the selection states of correspond-
ing visual objects in different visualizations, the sys-
tem will realize the brush-and-linking between these
visual objects in different visualizations.
4 DIRECT MANIPULATION OF
VISUALIZATIONS
Instead of directly manipulating the OOView tree and
the VSDef tree to define the OO query and the vi-
sualization, our framework also allows users to indi-
rectly manipulate these two trees by directly manip-
ulating the visualization results. Users can (1) de-
fine the binding between some attribute of the data
set and some visual property of the visualization tem-
plate by directly filling in an input form on a win-
dow called the binding editor which can be opened by
right-clicking one of the visual objects in the visual-
ization result, (2) define a binding between two prop-
erties of two chart components to define the value-
equality between them by filling in an input form in
the same binding editor in (1), (3) merge or divide vi-
sual objects (4) use the legend or a visualization as
a filter , or (5) embed a graphical object or a visu-
alization to another existing visualization as its new
visualization template.
For performing the operations (1) and (2), we use
the object called the binding editor. For the opera-
tion (1), the user can select a property of the visual
object, a data table, and an attribute of the selected
data table in the editor (Figure 5 (a)). Similarly, for
the operation (2) the user can select a property of the
selected chart component, another chart component
and a property of the second chart component in the
binding editor (Figure 5 (b)). According to the user
operations on the binding editor, the system will auto-
matically bind a node of the OOView tree and a node
of the VSDef tree, or bind two nodes of the VSDef
tree.
For the operation (3), users can select a visual ob-
ject or a set of visual objects and use the menu to per-
IVAPP2013-InternationalConferenceonInformationVisualizationTheoryandApplications
500