AIDE: A Case-Based Approach for ... Graphics From Locative and Temporal ...

advertisement
AIDE: A Case-Based Approach for Designing
Graphics From Locative and Temporal Data
by Craig Michael Kanarick
Bachelor of Arts, University of Pennsylvania, 1989.
Bachelor of Applied Science/Computer Science, University of Pennsylvania, 1989.
Submitted to the Program in Media Arts and Sciences, School of Architecture and Planning
in partial fulfillment of the requirements for the degree of
Master of Science in Visual Studies
at the Massachusetts Institute of Technology, September 1993.
© Copyright 1993 Massachusetts Institute of Technology, all rights reserved.
/f
A#P/r5c yes
'iertifi'eck/by
Muriel R. Cooper, B. F. .
Professor of isual Studies
Thesis avipr/
accepte
A
by
Stephen A. Benton
Chairman, Departmental Committee on Graduate Students
ARCHIVES
MASSACHUSETTS INSTITUTE
OF TECHNOLOGY
OCT 18 1993
UBRARIES
AIDE: A Case-Based Approach for Designing
Graphics From Locative and Temporal Data
by Craig Michael Kanarick
Submitted to the Program in Media Arts and Sciences, School of Architecture and Planning
on July 1, 1993 in partial fulfillment of the requirements for the degree of
Master of Science in Visual Studies
at the Massachusetts Institute of Technology.
abstract
This thesis describes a research system called aide: automated intelligent design expert that
creates graphics from data. It assists users of data who wish to design graphics by combining
artificial intelligence techniques with current automated design software paradigms. The work
extends previous research in four ways. First, it combines the artificial intelligence technique
known as case-based reasoning with traditional rule-based automated layout techniques. Casebased reasoning is used to choose a graphical template from a library of examples and is also
used to instantiate the graphical aspects of the image. This approach is investigated because it is
well matched to the process that people take when designing -- adapting old designs to new
situations.
Because of their cognitive importance, the rule-based components of aide have special design
knowledge for temporal and locative information, allowing the system to present this type of
information in unique ways.
Like other automatic layout systems, aide is capable of producing traditional static graphics. In
addition, however, aide can also design and present dynamic graphics.
Finally, aide runs in a one-of-a-kind large high-resolution display environment. This, combined
with a unique set of design skills and techniques, allows the system to produce graphical images
of a higher quality than found previously.
The research presented here contributes to the fields of artificial intelligence and automated
graphic design by effectively combining them in one system. aide, the resulting prototype
application, can be used to generate a number of different high-quality graphical representations
from application independent data and offers potential benefits for anyone who needs to analyze
or present data.
Thesis advisor: Muriel Cooper, Professor of Visual Studies.
This work was sponsored in part by the Defense Agency Research Projects Administration
DARPA), International Business Machines Incorporated (IBM), the Department of Transportation
(DOT), and Nynex Incorporated.
2
AIDE: A Case-Based Approach for Designing
Graphics From Locative and Temporal Data
by Craig Michael Kanarick
The following people served as readers for this thesis.
Muriel Ruth Cooper, B. F. A.
Professor of Vis'al-Studjes, MIT Media Laboratory
Director, V'le
Lang ge Workshop
reader
Kenneth Haase, Ph. D.
Assistant Professor, MIT Media Laboratory
reader
Joe Marks, Ph. D.
Member of Research Staff, Digital Equipment Corporation
Lecturer in Computer Science, Harvard University
acknowledgments
Many people have helped with this thesis, and I would like to thank all of them.
4
table of contents
acknow ledgm ents ...............................................................................................................
4
table of contents .................................................................................................................
5
1 introduction ............................................................................................................................
o ve rv iew ................................................................................................................................
6
2 the user interaction.............................................................................................................
13
the screeen .............................................................................................................................
the input data........................................................................................................................15
looking at the library of examples .....................................................................................
"final" graphics ......................................................................................................................
th e ke y ..................................................................................................................................
keeping track ........................................................................................................................
3 previous related work........................................................................................................
the graphical presentation of static information ...............................................................
perceptual psychology and statistical graphics.................................................................
automated graphical presentations.................................................................................
6
13
17
18
21
23
24
24
26
27
4 case-based reasoning in aide............................................................................................
case based reasoning ....................................................................................................
the analysis module ..............................................................................................................
the rating module ..................................................................................................................
the adaptation module .....................................................................................................
29
29
31
33
34
5 the designer com ponent ...................................................................................................
the graphing module .............................................................................................................
graphic variables ..................................................................................................................
displaying the graph..............................................................................................................39
traditional graphical forms.................................................................................................
chartmaps .............................................................................................................................
automated temporal diagrams..........................................................................................
labeling of data points while maintaining legibility ............................................................
editing the encoding..............................................................................................................48
extending the encoding .....................................................................................................
38
38
39
6 conclusions ............................................................................................................................
s u m m a ry ...............................................................................................................................
areas for future work .............................................................................................................
evaluation .............................................................................................................................
51
51
52
54
references ..................................................................................................................................
55
appendix a - related readings .............................................................................................
57
appendix b - biographies of readers ...................................................................................
59
5
39
40
42
45
49
1 introduction
Number
Number
Number
Number
6: What do you want?
2: Information!
6: Whose side are you on?
2: That would be telling.
Number
Number
Number
Number
Number
2:
2:
2:
6:
2:
We want information.
Information.
Information!
You won't get it!
By hook or by crook, we will.
-The Prisoner
No statistical package exists that can take raw data and analyze them a priori. The statistician must have
ideas about the kinds of structures present in the data before applying even the most general analytical
procedure. Possibly the most powerful tool for this initial exploratory data analysis is the graph.
- Colin Ware and John Beatty
overview
The current era has often been dubbed "the information age." As computers become a more
integral part of society, they produce more data with each passing minute. Databases can
describe a collection of objects, customers, employees, sales figures, the results of scientific
experiments, medical histories, events, places, or just about any other phenomena. Not only is
the number of such databases increasing, but their size and complexity are growing as well.
Databases, as such, are not inherently useful, for they are just collections of data. However,
buried within each database is information. We can consider information to be, among other
things, relevant or important aspects of the data. That is to say that each set of data contains
trends, patterns, and relationships among the elements and their characteristics (the lack of an
easy-to-describe trend or pattern being a pattern in and of itself). These trends and patterns often
tell important stories about the data in question and are needed to solve real problems. The
ability to quickly and efficiently discover such information buried in a database is valuable and
grows more difficult with its size and complexity
Data can be analyzed in many different ways. However, as Ware and Beatty point out, the most
powerful way to analyze a database as a whole and to get a good overall view of the information
within a database, especially if the user has no a priori knowledge of the database, is through the
use of a graphical presentation (e.g., a chart, diagram, or map).
6
For example, consider the data in Figure 1.1:
Il
N
1
2
3
4
5
6
7
8
9
10
11
x
10.00
8.00
13.00
9.00
11.00
14.00
6.00
4.00
12.00
7.00
5.00
y
8.04
6.95
7.58
8.81
8.33
9.96
7.24
4.26
10.84
4.82
5.68
x
10.00
8.00
13.00
9.00
11.00
14.00
6.00
4.00
12.00
7.00
5.00
IV
111
y
9.14
8.14
8.74
8.77
9.26
8.10
6.13
3.10
9.13
7.26
4.74
x
10.00
8.00
13.00
9.00
11.00
14.00
6.00
4.00
12.00
7.00
5.00
y
7.46
6.77
12.74
7.11
7.81
8.84
6.08
5.39
8.15
6.42
5.73
X
8.00
8.00
8.00
8.00
8.00
8.00
8.00
19.00
8.00
8.00
8.00
y
6.58
5.76
7.71
8.84
8.47
7.04
5.25
12.50
5.56
7.91
6.89
Figure 1.1. A tabulararrangementof Anscombe's quartet. For each of the four sets, N = 11, mean of x's = 9.0, mean of y's = 7.5,
equation of regression line: y = 3 + .5x, standard errorof estimate of slope = 0.118, t = 4.24, sum of squares of x = 111.0, regression
sum of squares = 27.5, residual sum of squares of y = 13.75, correlationcoefficient = .82, and t 2 = .67.
This data, called Anscombe's quartet (Anscombe, 1973; Tufte 1983) contains four sets of data each
described by the same linear model. It is difficult to tell by looking at the table above, but even
though the four sets are described by the same model, as the visual representations of the data
illustrate, each of the four sets is quite different.
11
10.00.
10.00 -
5.00 .
5.00-
0.00.
0.00
10.00
0.00
0.00
20.00
III
0.00,
0.00
10.00
20.00
IV
10.00.
5.00-
*00
10.00-.
*
0*
5.00.
10.00
0.00
0.00
20.00
10.00
Figure 1.2. A graphicalpresentationof Anscombe's quartet. Each of the graphs is a scatterplot of x vs. y.
7
20.00
This examples illustrates how much easier it can be for a user to understand a set of data by
looking at a visual representation than a tabular arrangement. It is easier to recognize patterns,
determine trends, or discover other information by using our perceptual skills for recognizing
shapes, colors, and positional arrangement of objects than it is to parse a table of textual
information. Graphical images are often more inviting than tables of data and allow the user an
opportunity to investigate and examine data in a way just not available with tables. In addition,
graphics can often condense data, allowing a view to analyze thousands or millions of data in one
visual experience. For hundreds of years people have been making such charts and diagrams
from data.
However, the variations on graphical forms are limitless. Choosing the appropriate graphical
form for a particular set of data is no easy task. Each aspect of the design, the color of the marks,
the width of the lines, the size of the labels, all of these communicate information and play a role
in the effectiveness of the graphical presentation.
For example, Figure 1.3 shows the same data in two different formats. The image on the left
shows an obvious pattern, while the one on the right does not. One could argue that the left
image is more useful (or more effective) than the one on the right.
Il
Il
5.00
7.00
12.00
4.00
6.00
14.00
11.00
9.00
13.00
8.00
10.00-
5.000
0.00
0.00
10.00
10.00
0.00
20.00
5
5.00
10.00
Figure 1.3. Two different graphicalpresentations of the same datafrom Anscombe's quartet. Both graphs are visualizations of
Group II, however, the graph on the left is a scatterplot of x vs. y, while the graph on the right is a barchartof N vs. y.
Trained graphic designers are specialists in this area, and are often given the responsibility of
turning tables of data into powerful images that illustrate the underlying information in the
database. This process of turning data into images involves choosing the format of the graphic,
choosing the colors and symbols that comprise the graph, choosing the fonts, and hundreds of
other decisions that on the surface might seem simple, but are in reality extremely complex -- for
each decision has a direct impact on the legibility, expressivity, and effectiveness of the final
graphical image.
Since the need to go from data to image is so common, it is hardly cost-effective or time-effective
to hire a trained designer every time a user needs a graphic. As a result, the ability to visualize
8
data has been given to the general user through production software, spreadsheets, and statistical
tools.
There are two major drawbacks to the current ways of putting this power in the users' hands.
First, the graphical intelligence of these systems is severely limited. The user must often make
many design choices, including which form to use (scatterplot, pie chart, bar chart, etc.), which
characteristics should go on the x axis, which on the y axis, what the tick marks should be like,
and so on. The user is often not a trained designer, and hence, is not equipped with the skills
needed to produce effective graphics.
The second problem is the graphical power of such programs is limited. This means that even if
the user makes reasonable design choices, the graphical quality of the images that can be created
is not very high. In most cases, the system just doesn't provide enough control over the
individual design aspects of the image, such as the size of the marks, the colors, and so on.
What are possible solutions to these problems? Providing more control over the various design
aspects would solve the second problem, but would make the first even more acute. However, if
we could abstract the process of turning data into graphs and generate a set of rules for this
process, these rules could be codified in software and a virtual designer could perform the job of
a trained graphic designer. Current research in this area has met with limited, although
significant, success. One of the biggest problems is that the design process is too complex and
large to be codified in a set of simple rules. It does appear that designers follow general
guidelines and styles when designing. However, these styles and guidelines are so complex, it
seems unlikely that they could be delineated in a comprehensive list of strict conditional rules.
An alternative theory about the process of design is that designers borrow ideas from other
designs -- that is to say they create new designs based on old ones. Consider a particular diagram
that communicates information about some specific set of data effectively and is easy to
understand. If the data changes slightly (i.e., if the data is about horses, maybe the height of a
horse changes), it would not be useful to completely redesign the graphic. Similarly, if afew of
the values in the dataset change, it would not make sense to completely redesign the graphic.
The alternative is merely to modify the original visualization to reflect the new state of the data.
As such, these new images could be considered to be "based" on the original. Design often
happens this way -- adapting other graphics to the state of the "new" data. The more different the
new data from the old, the more redesign is needed. At some point, when the new data is
significantly different from the original, a completely new design is required.
9
This idea is further illustrated in Figure 1.4. In this figure there are four graphs, all graphed in the
same form. The values of the data being represented varies greatly from graph to graph,
however. In the two left graphs the images represent time (year) and dollars, whose values range
from -640,000,000 to 2,540,000,000. In the third graph, the image also represents time (year) and
dollars, yet the dollar values range from -.91 to 3.6. The graph on the furthest right represents
time (year) and percentage (values ranging from -3.5 to 10.5). Each of the four graphs displays
time against some numerical value, yet the magnitude of the numbers varies drastically from
image to image. However, the same graphical style is useful for each of the four datasets.
Revenues
IDollars in billions)
S' 82 83 84
'65
2.14 2.54 1.54 1.83 1.0
(Dollars in billions)
81 82 61 R4 85
Earnings Per Share
(Dollars)
81 82 83 84 85
.225 .249 1.0641.071 .028
3.36 3.0
Net Income
(.11 1.00
1.25
Return on Revenues
(Percent)
After-tax profit martgin
81 82 83 84 85
10.5 6.4 M.6I 3.9 4.6
Figure 1.4. Four similar barchartsfrom the 1985 annual report ofBaker International.(GraphisDiagram, 1988).
In the example above, each of the four datasets was illustrated using the same basic design. This
was possible because the datasets were relatively similar. However, if one of the datasets were
extremely different, a new design would have been needed. For example, if the revenues were
categorized into "great", "good", "fair", and "bad", instead of being given in billions of dollars, the
barchart shown above would not have been able to convey this information appropriately. As
stated earlier, the more different the new data from the old, the more redesign is needed.
10
It is possible to use an artificial intelligence technique called case-based reasoning to model this
behavior. This thesis describes a prototype of such a system, called aide: automated intelligent
design assistant. aide is a system that uses case-based reasoning to automate part of the process
of graphic design. aide takes a set of application-independent data as input and has a library of
different data sets and their graphical representations. It compares the new data to the examples
in the library, and based on input from the user, attempts to create a new design based on one of
the examples. As an assistant, it does not merely take in data and produce graphics, but assists
the user in the process of generating statistical graphics from data. This means that the user is an
integral part of the design process. Figure 1.5 shows a very general block diagram of the system. 1
The stick-figure ( ) indicates areas where user input is required.
input data
11 234 45 Blue
122 18 Red
8 10
3
Gree
module
Fast
Fst
84
103 13 Blue
25
Sowmdl
R4
917Ylow
Fast
100 11 Blue
11
43
23
~
11 Blue
Slow
4
graphic output
eeaphing
analysis
Fast
Slow
11 Blue
6
designer
case-based reasoner
module
gr
r
ftn
)encoding
C
Slo
adaptation
Slow
module
editor
encoding
extender
Figure 1.5. A general block diagramfor aide.
How does the system work? The first half of the process utilizes the artificial intelligence
technique called case-based reasoning. The analysis module takes the input database and produces
an abstract representation of the data, called the shape, by performing some traditional statistical
analyses of the data and their characteristics. This analysis includes sorting the characteristics
into nominal, ordinal,and quantitative categories. In addition, aide extends this paradigm by
treating two aspects of characteristics as special. These aspects are locative and temporal, and are
singled out because of their special cognitive value. People have a natural tendency to organize
things with respect to places and time. Hence, any system that tries to design like a human being
must have knowledge of these aspects, and appropriate design rules to visually represent this
data.
Once the system creates a simple description of the input database, it then compares the input
database's shape to a library of example graphs. The rating module compares the shape of the
input data to each of the examples' shapes to assess each as a possible basis for the visual
representation of the input database. aide visually displays a subset of the examples along with
their ratings and in doing so, provides the user with guidance about how to proceed. At this
1 A more complete schematic of the system can be found in Chapter 5.
11
point, the user chooses an example and the system passes the input data and the chosen example
to the adaptationmodule that modifies the chosen example to fit the input database.
Once the example is adapted, aide then passes the adapted example and the input data to the
designer component. This component lays out a large, full-color visual representation of the data
based on the adapted encoding and provides the user with an easy and effective way to discover
the information buried within the data. The user can then choose another example from the
library, modify the graph manually, or in relevant situations, ask the system to try to "extend"
the graphic to convey more information 2 , through the use of a rule-based design component
similar to those found in other work. Once a user is satisfied with a graphic, he can add the new
image to the example library for future use.
aide extends previous research in a number of important ways: 1) It combines the artificial
intelligence technique known as case-based reasoning with traditional rule-based automated
layout techniques; 2) Because of their special cognitive value, the rule-based designer component
of aide treats temporal and locative information as special and contains special design rules to
represent these characteristics; 3) Just as other automated layout systems, aide can design and
present static images, but the system is also capable of producing dynamic graphics; and 4) aide
contains a number of sophisticated new design skills that combined with its unique display
environment allow the system to create graphics of a higher quality than in previous work.
This thesis is composed of different sections. Chapter 2 contains a description of the user
interface and how the system looks and feels to a user. Chapter 3 contains an overview of related
work. Chapters 4 and 5 delve into the "behind-the-scenes" activities of aide -- Chapter 4 explains
the case-based reasoning aspects of aide and Chapter 5 describes the graphing aspects of the
system. Chapter 6 concludes the document with a discussion of performance criteria, a summary
of the contribution of aide to various fields of research and a discussion of areas for future work.
aide was developed on the Large High Resolution Display (LHRD) Prototype, a 6044x2048, 100
pixel-per-inch display prototype developed in the Visible Language Workshop (VLW) at the MIT
Media Lab (Mashiushi, et. al, 1991). The LHRD is composed of hardware including: Sony 2000line monitors, frame-buffers made by Metheus, and an IBM RS/6000 workstation running
AIX/3.2. The VLW window system, BadWindows version 2.0, and a number of VLW libraries
were used to create the user interface. All other code was written by the author in C.
2 aide has a "goal" to try and represent as much information about the data as possible. To this end, it tries to represent as
many of the database's characteristics graphically. If the user chooses an example that visually presents fewer than all of
the characteristics, it is possible in some cases to "extend" the image to provide more information.
12
2 the user interaction
One of the features of aide is a complex feedback loop that makes the user an integral part of the
design process. aide is not a completely automated designer. Instead, it is meant to be used as an
assistant in the design process. This section describes the user interface and interaction with the
system.
the screen
The screen is organized into five primary sections. There is an area where the input data is
presented to the user along with some information about its shape, an abstract description of the
characteristics of the database. There is an area where the user can view the library of examples
and a measure of how "good" the system thinks that example would serve as a basis for a
visualization of the input data. There is a large section of the screen used by the designer
component to draw the graphic, and a key to the graph. In addition, there is a visual history area
of the screen. Figure 2.1 shows an image of the entire display.
Figure 2.1. aide'suser interface.
The section on the far left is an area for displaying the input data in tabular format. Directly to
the right of this is a visualization of a subset of the example library. To the right of this is a the
key. The large area to the right of this is the area for the fully renderedfinal graphic. In the lower
left corner of the display is the history palette, where rough copies of the final graphics produced
are archived. Each of these areas of the screen is described in more detail in this chapter.
13
aide is a highly interactive system. Once the user provides the system with some input data, he
has a lot of control over how the system graphs the data. Figure 2.2 contains a schematic
describing the interaction between the user and the system.
Figure 2.2. A schematicfor aide.
14
the input data
When aide first starts up, it displays the input data to the user in the input data window. The data
is displayed in a spreadsheet-like format in order to give the user an opportunity to see the data
as a table. In the current implementation, the user can only look at the data in the tabular format.
Future work includes adding the ability for the user to edit the input data, select subsets of the
data to be graphed, and other similar tasks.
While the tabular format can be useful, aide's main purpose is to assist in designing more
powerful and informative visualizations. aide rests on the theory that the content of the data is
not as important to creating a good design as the structure of the data itself. After the system
displays the input data as a table, it computes an abstract description of the input data, called its
shape. The shape of the data includes the number of different kinds (nominal,ordinal, or
quantitative)of characteristics and the number of the different aspects (temporal,locative, or
standard)of characteristics are in the database as well as some other statistical values. Once the
shape of the input data is computed, a barchart visualization of it is presented to the user.
Figure 2.3 shows the input data window, including part of an example input database and a
visualization of its shape.
input data's shape:
input data:
Name:
Kind:
Aspect:
Time
ordinal
temporal
Skill Name
nominal
standard
Activation
quantitative
standard
Threshold
quantitative
standard
Executable
ordinal
standard
Execute Status
nominal
standard
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
pickUpSprayer
pickUpSander
pickUpBoard
putDownSprayer
sandBoardinVise
pickUpSprayer
pickUpSander
pickUpBoard
putDownSprayer
sandBoardinVise
pickUpSprayer
pickUpSander
pickUpBoard
putDownSprayer
sandBoardinVise
0.00
0.00
0.00
0.00
0.00
13.33
13.33
13.33
0.00
37.22
37.45
37.87
23.93
0.71
28.04
45.00
45.00
45.00
45.00
45.00
40.50
40.50
40.50
40.50
40.50
36.45
36.45
36.45
36.45
36.45
no
no
no
no
no
no
no
no
no
no
yes
yes
no
no
no
inactive
inactive
inactive
inactive
inactive
inactive
inactive
inactive
inactive
inactive
activated
inactive
inactive
inactive
inactive
Figure 2.3. The input data window. The top half of the window contains a tabularformat visualizationof the data, while the bottom
half containsa barchartrepresentationof the data'sshape.
15
This data is a set of values from sanderWorld,(Johnson, unpublished) a simple virtual
environment in which a robot consisting of various autonomous skill agents is given two
potentially conflicting goals: to spray paint itself and to sand a board (Maes, 1990). The difficulty
arises because the robot has limited resources and constraints on its actions. The data represents
the various parameters of each of the individual agents during a run of the system over a span of
time, including the name of the agent, its "activation" level (how badly it "wants" to execute), its
threshold for activation, and its execute state.
16
looking at the library of examples
10 examples from library: U
Abarchart
vertical barchat
Once aide computes the shape of the database, it uses this as a
basis for suggesting an example on which to base the
graphical visualization of the input data. aide contains a
horizontal barchart
Acme rental barchart
library of examples, each of which includes a graphical image,
the shape of the database visualized in that example, and an
abstract description of the design of the image, called the
Plapr Debt Unchart
linechatd
encoding. After computing the input data's shape, it is
compared to each of the example's shapes, and each example is
rated as a possible basis for the new visualization. This
1
vetical bar
_m.. .il.
vertical barchart
vertical barchart
aide datashape graph
process is described in detail in Chapter 4. Once each example
is rated, the ten most similar examples are presented to the
user along with their rating, providing guidance about how to
continue. Figure 2.4 illustrates how examples are presented.
The column on the left shows a graphical representation of the
shape of the example. It is a rather simple graphic: since there
are three kinds3 and three aspects 4 of characteristics, there are
as
nine kind-aspect combination. The graphical representation of
the shape is a simple barchart showing the number of each
vertical barchart
type of characteristic in the database. To the right of each of
these graphs is a small rough draft of what the graph would
look like if the user chose that example. The number between
vertical barchart
EMOWharzentalbt
the two images is the rating,or difference, between the shape of
the input data and the shape of the data from the example. If
Emp
the user is unsatisfied with any of the examples shown, he can
linechart
35
scroll through the library by using the two scroller buttons in
the upper right corner.
Figure 2.4. A visual representationof the
ten best-rated examplesfrom the library of
examples.
By providing the user with rough drafts of the potential
graph, the user can quickly compare the different potential
graphics and choose one to his liking. This pre-visualization step can save the user valuable time,
as the rendering of the final graphic can often take a significant amount of time, especially in the
case of dynamic graphics. To create afinalgraphic from one of the examples shown, the user need
only click on the rough draft. After the user chooses an example, the system proceeds to draw
the larger, fully rendered version of the graphic.
3 Nominal, ordinal, or quantitative. A complete description of these kinds is given in Chapter 3.
4 Temporal, locative or standard(neithertemporal nor locative).
17
"final" graphics
After the user chooses an example from the database, the system adapts that example to the input
data. A detailed description of this adaptation process is given in later chapters.
One of the problems with traditional data analysis packages that allow a user to "graph" data is
that the graphical options are fairly limited. Assume that you are a user of a typical spreadsheet
package and you have a large set of data (many rows and columns) that you wish to visualize. If
you choose to make a scatterplot of the data, for example, you are severely limited in terms of
how much control you have over the image. With most programs, you could only choose which
characteristics to place on the x and y axes. However, there are many other aspects of the graph
that are important parts of the design -- the tick marks, the grid lines, the size, color,
transparency, and texture of the marks, and so on. Design aspects such as the size and color of
the marks, however, can carry additional information about the data. Most visualization
packages, however, don't allow the user to assign a characteristic of the data to the color or size of
the marks. The most common scenario is that the machine picks a value and assigns all the
marks the same size and color. In some advanced systems, the user can set the color and size of
the marks individually, but must do so for each mark on the graph. In the first situation, the
graph is not as expressive as it could be. In the latter case, the user just has to work to hard to
make the graph expressive. For a system to be able to make expressive statistical chart graphic, it
must be able to have characteristics of the data assigned to as many graphical aspects of the
image as possible.
In aide, there are a large number of graphical aspects of the images that can convey information
about the input data. These graphical aspects are called the set of graphic variablesand differ for
each graphical form (scatterplot, linechart, barchart, etc.) Each of the graphic variables can be
instantiated in a visualization in different ways -- they can either be a constant value or they can
be a function of one of the characteristics of the input data. For example, in a scatterplot of the
sanderWorld data, the shape of the marks could be determined by the characteristic "executable".
As described earlier, each of the examples in the library contains a graphic image, the shape of the
data for that graphic, and an abstract description of the design of the image. This description is
called the encoding of the graph. An encoding contains a list of the graphic variables for the specific
graphical form, and a list of encoders that describe how each of the graphic variables is instantiated.
An encoder can be assigned a constant value, a description of a characteristic in a database, or be
empty (in which case the system chooses a reasonable default value). In addition, the system can
assign the same characteristic to more than one graphic variable. For example, both the color and
shape of marks in a scatterplot could be determined by the same characteristic of a database.
18
Once the user chooses an example from the library, aide adapts its encoding to the input data (this
process is described in the section about the adaptationmodule). Once the encoding has been
adapted to the input data, the system renders a large graphical visualization of the input data in a
4000x2000 pixel window. This large image is referred to as a final graphic.
Figure 2.5. This is the graph produced by aidefor the data aboutagents.
Figure 2.5 shows a visualization of the data from the sanderWorld dataset. In the image, the
characteristic named "Time" is assigned to the x-axis and "activation" is assigned to the y-axis.
Both graphic variables "line number" and "color" are instantiated from the characteristic named
"Skill Name". The shapes of the plot marks are determined by the characteristic "execute status",
and the transparency of the line and the marks is determined by the characteristic named
"executable". As a result, all of the characteristics of the database are represented visually in
different visual aspects of the image.
This is an effective way of displaying information because of the natural ability of humans to
perceive the different visual components of the image separately. For example, if two objects
have the same color but different shape, a typical person can still tell them apart. Humans have
the ability to filter, as it were, based upon one or more visual property. By doing so, the user can
quickly analyze the data and discover the information within the image.
19
aide was used to visualize the data from a few different runs of the sanderWorld system in order
to find a problem with the robot. A situation arose in which the robot refused to activate a
particular agent, even though all of its conditions for activation appeared to have been met. After
spending a number of hours perusing the code and looking at the data in the tabular format, the
bug could not be discovered. However, only a few seconds after aide presented the information
visually, the bug was spotted. By being able to see the data from all of the agents from the entire
run at the same time, finding the problem took only a few seconds, and provided a solution to a
problem that would have been much more difficult to discover with other methods.
20
the key
As the system renders thefinal graphic version of the data, a key is displayed to the user, showing
how the system creates the graphic.
aide's key is a simple one: it lists all of the graphic variables and a simple explanation of how they
were instantiated. At the top part of the key, the information for each of the graphic variables is
listed. On the color display, each row is color coded to reflect whether it is assigned a constant
value, derived from a characteristic of the data, or derived from another graphicvariable. At the
bottom half of this window, other information included in the encoding is displayed, including the
information about the grid, axis scales, and tick marks. Figure 2.6 shows a key from the linechart
visualization of the sanderWorld database shown earlier.
the
key:
encoding for:
graph type:
history type:
William Playfair Diagram #946
linechart
none
graphic variable information:
graphic variable
derived from
color
Skill Name
transparency
Executable
line number
color
ro
label
No Encoder
no
label size
18 pixels
shape
Execute status
shape size
18 pixels
x axis
Time
no
y axis
Activation
no
linewidth
No encoder
other information:
vertical scale:
horizontal scale:
vertival grid:
horizontal grid:
top ticks:
right ticks:
bottom ticks:
left ticks:
no
180
0
12
abc
2
no
abc
no
10
0
40
10
40
10 ticks
5 ticks
yes
yes
adaptive text:
non-overlapping text:
no
yes
Ro
top outline:
right outline:
bottom outline:
left outline:
yes
yes
yes
yes
no
no
no
flipped
max
min
Figure 2.6. The key provides the user with information about the adapted encoding.
21
no
no
In this example, the characteristic named "Time" is assigned to the x-axis and "activation" is
assigned to the y-axis. Both graphic variables "line number" and "color" are instantiated from the
characteristic named "Skill Name". The shapes of the plot marks are determined by the
characteristic "execute status", and the transparency of the line and the marks is determined by
the characteristic named "executable".
Even though it appears as a simple list of the graphical aspects of the image, the key is an active
key, as clicking on different areas of the key provide the user with more detailed information. For
example, if the user clicks on any of the names of the graphic variables, a visual presentation of
the values used for that graphic variable is shown to the user. In the key shown in Figure 2.6, if a
user clicked on the word "color", the following color key could pop up:
Color key:
(derived from characteristic named "Skill Name")
W
pickUpSprayer
W
pickUpSander
putDownSander
sandBoardInVise
pickUpBoard
Figure 2.7. A color sub-key.
22
keeping track
For eachfinalgraphic drawn, a rough copy of the graphic image is copied to the "history palette"
displayed at the bottom left corner of the screen. This palette provides the user with a visual
history of the steps taken to produce the current graphic. The user can click on any of the rough
graphs in the history palette and the system will redraw the "final" version of that graphic.
Figure 2.8 shows an example history palette from a session with aide.
graphing history:
Figure 2.8. The history palette.
In the example above, we can see (reading from left to right) that the user first created a linechart,
then a vertical barchart, then a horizontal barchart. He then created three similar vertical
barcharts. The graph on the right end is another linechart. In the current implementation, there
is space for ten rough drafts (even though the example above only shows seven). The program
will soon be extended to allow for more rough drafts to be saved and for the user to be able to
scroll through the history palette.
23
3
previous related work
The use of graphs, bar charts, scatterplots, and
other types of diagrams can be traced back to
at least the late 1700's and the work of Playfair
and De Fourcroy (Playfair, 1786; de Dainville,
..
1958). An example of one of Playfair's earliest
.
works is shown in Figure 3.1, to the left. At
least three areas of research in the field of
statistical graphics design need to be
examined: systematic algorithms for creating
static visualizations of information,
perceptual psychology studies of statistical
graphics methods, and the implementation of
computer generated visualizations of
information.
the graphical presentation of static
information
Over the years there have been many efforts
to formalize the process designing statistical
charts and maps. One of the most
comprehensive and acclaimed efforts in this
..
area comes from Jacques Bertin and is
outlined in his Semiology of Graphics(Bertin,
.
Figure 3.1. A barchartdesigned by William Playfairin 1780.
1983). In this work, Bertin describes a series
of general guidelines for creating graphs and charts. Much of his work rests on the theory that
while the content of the data is important, characteristics can be grouped into general kinds, and
that the distribution of these characteristics within a database is just as important, if not more so.
The first step of Bertin's methodology involves an analysis of the characteristics of the data as a
whole. This analysis is a multi-step process beginning with computing the number of
"components" for the elements in the database. 5 The next step is sorting each of these
characteristics into three categories, nominal, ordinal, and quantitative. This categorization is
mostly a description of the granularity of the values for the characteristic in question.
5 Bertin uses the word "component" to mean some sort of characteristic of an element of the database which can vary
from element to element (e.g., sex, width, length, speed, age, name, etc.). I use the word "characteristic" for this same
notion.
24
These three categories are defined as follows:
* nominal: the values of nominal characteristics fall into non-ordered categories. These
characteristics are sometimes referred to as qualitative.
e ordinal: ordered characteristics where the distance between the different possible values is
the same for every possible value
* quantitative: the values of quantitativecharacteristics are actual values, usually numerical.
For example, let's consider a database consisting of Olympic medalists, their physical
characteristics, and their favorite brands of soft drinks. Characteristics like "height "and "weight"
would be quantitative. The kind of medal awarded (i.e., gold, silver, bronze) would be ordinal,
as these values aren't real-world quantities, but are sortable categories. Favorite brand of soft
drink, however, would be a nominal characteristic, as it is not a quantity, nor are the values
ordered (e.g., is Coke more or less than Pepsi?).
For every characteristic, the length of each characteristic (the number of instantiated values for
that characteristic) is computed. For example, if one of the characteristics of an element was
"sex," the length of this characteristic would be either 1 or 2 (if all of the data elements were only
male or female, the length would be 1. If there were some of each, it would be 2). For quantitative
characteristics, the range of the values is also computed, which is the ratio between the largest and
smallest value for that characteristic.
Bertin then defines a visual system, composed of a small set of fundamental retinal variables 6: xdimension, y-dimension, size, value, texture, color, orientation, and shape. The rest of his work is
devoted to guidelines for diagram construction based solely on the previously described analysis
of the data. The main task of this construction is choosing the correct graphic variables for the
particular characteristics of the database. As Bertin explains (Bertin, 1983),
...any retinal variable can be used in the representation of any component. But it
is obvious that each variable is not suited to every component. It is the notion of
level of organization which provides the key to solving this problem.
Bertin's guidelines outline how to instantiate graphic variables from characteristics of the data to
produce effective presentations of the data. One of the strengths of his system is noticing that
certain graphic variables are not useful for particular types of characteristics. In order to explain
and justify this assertion, he defines "efficiency" as a metric for judging visualizations, which is
the application of Zipf's notion of "mental cost" applied to the visual domain (Zipf, 1935). Bertin
states that the most efficient visualization is one with which "any question, whatever its type and
level, can be answered in a single instant of perception, that is, in a single image."
6 Referred to herein as graphic variables.
25
The basis for Bertin's guidelines is summarized in a simple set of relationships between graphic
variables and the notions they can convey. For example, it is easy for people to recognize when
two hues are different or similar, but impossible to order hues, as it is meaningless to try to asses
whether one hue is "more" or "less" than another (e.g., is red more or less than blue?). He
outlined relationships between the graphic variables and the perceptual properties "similar",
"different", "ordered", and "proportional". These relationships provide structure for his
Semiology, and is the basis for his design paradigm. For example, since color hue is not ordered,
one should not use color to represent ordered values.
Edward Tufte, a statistician, has studied graphic design principles in depth, paying particular
attention to the effectiveness of graphical presentations of data. He has produced a number of
guidelines, which he calls his "Theory of Data Graphics," regarding the elimination of extraneous
information in chart graphics to make diagrams more "effective." Tufte outlines a number of
general principles aimed at increasing "the number of dimensions that can be represented on
plane surfaces" and increasing the amount of information per unit area of statistical graphics.
(Tufte, 1983, 1990). He summarized his guidelines as follows:
- Above all else, show the data.
- Maximize the data-ink ratio.
- Erase non-data-ink.
- Erase redundant data-ink.
- Revise and edit.
perceptual psychology and statistical graphics
Most of Bertin's work was based on his own feelings about color, texture, sizes and the types of
information that they could convey. Cleveland and McGill, however, actually made the
empirical observation that people do perform differently in tasks concerning each of the different
graphical variables (Cleveland, 1984). They performed a number of studies concentrating on the
perception of quantitative information display in different ways. The result was a set of rankings
for different "tasks" of perception of quantitative information. Their ranking, from most easy to
most difficult was: position, length, angle or shape, area, volume, and color.
Ware and Beatty (Ware, 1988) have done extensive empirical studies on the perceptual abilities of
people to pick out clusters of marks based on color. They have shown that color is an effective
way to convey information about data characteristics. They discuss the effectiveness of color and
people's ability to discern different colors under different conditions.
26
automated graphical presentations
One of the earliest approaches to automating the design of diagrams was the BHARAT system
(Gnanamgari, 1981). BHARAT is a simple procedural system capable of producing a pie chart,
bar chart, or line chart of a single unary function. The system is limited in that design choices,
like font and color, are hard-wired into the system. In addition, the user is required to enter large
amounts of important information about the data.
Jock Mackinlay (Mackinlay, 1986) developed a system called APT (A Presentation Tool) which
analyzes a database and creates a graphical representation of this data using an automated design
algorithm similar based in part on Bertin's semiology. APT focuses on generating a variety of
two-dimensional static presentations. APT's approach is to encoding graphic design knowledge
in a precise graphical language that formalizes the arrangement and properties of graphical
elements. The algorithm for creating graphical sentences was based mainly on the work by
Cleveland and McGill. Mackinlay used the data from this study to create his own unique
rankings of perceptual tasks for quantitative, ordinal, and nominal categories. In doing so, he
models the language of chart graphics as a basis set of primitive graphic languages and
composition operators. APT then creates visualizations by constructing legal sentences in this
language that encode the data. The system uses a depth-first backward chaining version of a
deductive algorithm in LISP and has a rule set of around 200 rules.
Graphic design, however, is not strictly procedural. Although Bertin outlines a methodology for
creating such visualizations, and Mackinlay's system shows that a procedural approach to
visualization can work in certain situations, others have tried using a case-based approach in the
domain of design. The problem with rule-based systems is they require a programmer to try to
define the design process as a set of rules, which is often impossible. Designers often draw on
other work as a basis for new designs. As a result, a case-based approach is better matched to the
actual activities of a trained designer.
One of the first case-based systems in the domain of design is TYRO (MacNeil, 1989, 1990).
TYRO is a visual programming environment built as a set of design constraint networks and
designed to function as a designer's apprentice. The system has mainly been used in the domain
of the design of technical diagrams and maps. TYRO's cases contain sequences of design actions
for an isolated design decision and an abstract description of the conditions required for that rule
to be instantiated.
27
LIGA (Colby, 1991) is another example of using a case-based approach to design. LIGA, written
in LISP, uses case-based reasoning alternative layouts of pictorial and textual information.
Figure 3.2 shows two layouts of the same information generated by LIGA.
Figure 3.2. Sample outputfrom LIGA. The sizes and shapes of the two displays are different, so the layouts are different. Both, however,
contain the same amount of information and the same general "feel".
In LIGA, a case is a description of a grid and a set of constraints between abstract objects in the
display, along with a description of how flexible each constraint is. New "problems" are new
display characteristics (e.g., different sized display), and LIGA adapts a set of text and images
from one situation to another by adapting both the constraints and the grid, making sure that the
final image retains the relevant semantic feeling and content.
28
4 case-based reasoning in aide
input data
case-based reasoner
11
234 45 Blue
8
45 11Yren Slow
122 18 Red
Fast
6
8
43
84
133
0 15GenFst
Yleo
23
11 Blue
designer
graphic output
graphing
Fast
module
n
Slow
noi
Slow
This section describes the motivation for case-based reasoning and the particular approach used
in aide. The case-based reasoning algorithm can be broken down into three main modules: the
data analysis module, the ratingmodule, and the adaptation module. Each of these modules is now
described in more detail.
case based reasoning
Case-based reasoning originated at Yale University in the late 1970's as an approach to naturallanguage comprehension (Riesbeck, 1989). As described in Riesbeck, a case-based reasoner solves
new problems by adapting solutions that were used to solve old problems. This is opposed to
rule-based systems that contain a large set of conditional rules, also called "if-then" rules, that
when combined together describe solutions to problems. Rule-based computer programs are
effective in situations where the process being automated is a simple one or can be reduced to a
simple set of conditional rules. However, it seems unlikely that design happens this way. It is
reasonable to assume that designers borrow ideas from other designs and base new visual images
on old ones. It seems impractical, if not impossible, to try and delineate a set of rules for design.
Instead, it seems that case-based reasoning is better matched to the process that graphic designers
often take when creating graphics. As a result, this is the approach used by aide.
aide has a library of "solutions to old problems," called the example library. Each example consists
of an image, abstract description of the database being visualized in the example image (the
shape), and an abstract description of how the data was turned into a graphical image (the
encoding). The original data itself is not part of the example because it isn't needed and would
increase the storage requirements unnecessarily. This implies that while the content of a database
is important, its characteristics as a database are equally, if not more, important to the design
process. aide is capable of adapting each of the examples in the library to the current problem
(i.e., the input database) through a series of steps described in this chapter.
29
Riesbeck explains that the first step a case-based reasoner takes is finding the cases that solved
problems similar to the current problem. The analysis module computes the shape of the input data
and passes this information to the rating module. This module rates each of the examples in the
library to find the similar solutions. According to Riesbeck, the next step is to "adapt the
previous solution or solutions to fit the current problem, taking into account any difference
between the current and previous situations." In aide, this is performed by the adaptationmodule.
This section contains a detailed description of the of case-based components of aide. For the
purposes of explanation, the database shown in Figure 4.1 will be discussed.
Name:
Title
Location
Format
Age
Length
Category
Priority
Kind:
standard
locative
standard
temporal
standard
standard
standard
Aspect:
nominal
quantitative
nominal
quantitative
quantitative
nominal
ordinal
Bombs damage homes in Northern Ireland
Belfast, Northern Ireland text
446
53
international major
Authorities to protect Taj Mahal from further pollution damage
Bombay, India
text
912
20
international major
Paid killers track down three police informers
Rome, Italy
text
1000
17
international urgent
Cambodians turn out in force to vote
Phnom Penh, Cambodia
text
1034
71
international major
international urgent
Bosnian deputy prime minister wounded inSarajevo shelling
Sarajevo, Bosnia
text
2028
150
Cairo car bomb death toll rises to seven
Cairo, Egypt
text
2380
51
international regular
Venezuelan president faces congressional curtain call
Caracas, Venezuela
text
3612
82
international urgent
Parliament rejects prime minister's resignation
Sarajevo, Bosnia
text
3906
23
international major
Official vote tally shows Bosnian Serbs rejected peace plan
Sarajevo, Bosnia
text
6475
178
international regular
No. 2 boss in Sicilian Mafia arrested
Rome, Italy
text
7913
56
international major
Authorities dig for remains at 1980 massacre site
Buenos Aires, Argentina
text
7892
45
international regular
Yeltsin: Victory incomplete without new constitution
Moscow, Russia
text
9357
67
international major
New poll says Danes will grudgingly approve Maastricht treaty
Maastrict, Netherlands
text
9392
81
international
Fighting in Angola as peace talks remain deadlocked
Luanda, Angloa
text
9489
37
international major
Eastern German metal workers vote on whether to end strike
Berlin, Germany
text
9496
45
international regular
Street fighting flares in shell-ravaged town of Mostar
Mostar, Bosnia
text
9510
166
international urgent
Back to court for August 1991 coup plotters
Moscow, Russia
text
9593
73
international regular
Peace envoy expresses dismay at referendum
Jerusalem, Israel
text
9779
24
international major
India and Pakistan quibble over suspects
Islamabad, Pakistan
text
11147
86
international regular
Rainforest Damage Growing Rapidly
Brasilia, Brazil
series
830
5
international regular
Racism Still Common
Johannesburg, S.A.
series
8100
4
international regular
Ukraine Votes on New Government
Kiev, Ukraine
series
6888
5
international urgent
Saddam Hussein Speaks
Bahgdad, Iraq
image
7333
8
international regular
Yugoslavian unrest continues
Zagreb, Croatia
image
11079
9
international major
Bill Clinton in Washington
Washington, D.C.
image
9500
8
washington
daily
Air Force Marks Planes With Giant Flags
Lima, Peru
video
8500
18
national
major
9 Killed in Stadium Collapse
Bastia, Corsica
video
7500
17
international regular
German Workers Strike Ends
Bonn, Germany
video
5079
15
international major
Russia Unveils Plan for Ruble
Moscow, Russia
video
6079
17
international regular
McDade Indicted for Racketeering
New York, New York
text
7080
15
usa
major
Congressman Larry Smith Apologizes for Illegal Spending
Miami, Florida
text
9080
15
usa
major
Drugs confiscated in South America
Santiago, Chile
image
8079
13
international regular
regular
Figure 4.1. A tabulararrangementof a database containinginformation about news articles.
This data is a collection of news articles generated by different sources over a two week period.
The "Age" characteristic is the age of the story in minutes. The stories are from all over the world
and have different priorities and formats.
30
the analysis module
Statistics may be presented graphically in many different ways, but there should always be a sound reason
for choosing the particular form of presentation. By and large it is the material itself that will determine which
kind is to be used, for it will naturally be visually clearer in that form than in any of the others. The purpose
of a chart is to clarify or make visible the facts that otherwise would lie buried in a mass of written material,
lists, balance sheets, or reports.
- N. Holmes
The input data is first displayed as a table, allowing the user to
case-based reasoner
scan the data. In future versions of the program, the user might be
able to edit the data in the tabular format. Once the data has been
modle
presented in a tabular format, aide analyzes this data in order to
create an abstract description of the data. This abstract
description, called the shape of the database, is used to compare
ratin
the input data with the example library. As Riesbeck explains, to
find a relevant example, old solutions have to be labeled and
adaptation
organized so that features of input problems can be used in the
module
search. Once the input problem is characterized, it can be
compared to the cases in the example library to choose the most
appropriate case. The shape is this characterization upon which
the comparison is based. In the best case, the shape would be the minimum description necessary
to compare the input data with the examples. For the input data described earlier, its shape
would include:
overall information:
32
number of elements:
7
number of fields:
3
number of quantitative:
1
number of ordinal:
3
number of nominal:
5
number of standard:
1
number of locative:
1
number of temporal:
characteristic information:
name: Title
kind: nominal
aspect: standard
length: 32
average: n/a
minimum: ria
maximum: n/a
range: ra
median: n/a
standard deviation: n/a
average deviation: ria
skew: ria
kurtosis: ra
number of standard quantitative:
number of standard ordinal:
number of standard nominal:
number of locative quantitative:
number of temporal quantitative:
Location
quantitative
locative
24
1653,1025
816,430
2564,1242
3,2
1752,1120
456,238
355,186
0,-1
0,0
Format
nominal
standard
4
n/a
n/a
ra
n/a
n/a
n/a
ra
ra
ra
Figure 4.2. The shape of the news database shown earlier.
31
Age
quantitative
temporal
32
6811
446
11147
24
7902
3210
2623
0
0
1
1
3
1
1
Length
quantitative
standard
25
46
4
178
44
23
46
35
1
1
Category
nominal
standard
4
ria
n/a
ra
ria
ra
n/a
rna
ra
ra
Priority
ordinal
standard
4
n/a
regular
urgent
ra
ra
ra
n/a
ra
ra
aide computes the shape of a database by first sorting the characteristics of the data into three
kinds, nominal, ordinal,and quantitative. Quantitative fields are quantities, numerical
characteristics, such as height and weight. Ordinalcharacteristics are those whose values fall into
sortable categories, such as "Olympic medal awarded" or "honors status". For a characteristic to
be ordinal,each of the possible values must be considered to be equidistant from the previous (or
latter) possible value. In the case of "Olympic medals", for example, this characteristic would be
ordinal only if the difference between "gold" and "silver" was considered to be the same as the
difference between "silver" and "bronze". Nominal characteristics are values that fall into
categories that can not be sorted. For example, "favorite brand of soft drink" or "family name".
This classification is based in part on Bertin's work.
However, sorting characteristics into only three kinds is not precise enough for aide's graphing
module. While it is true that systems like APT can create useful graphics resting only on this type
of categorization, functionality could be improved by increasing the number of possible types of
characteristics. The more detailed description of the data provided to the automated designer,
the more sophisticated decisions the system can make. As a result, aide does more than just
break characteristics down into three kinds.
There are two important aspects of characteristics that aide treats as special. These two aspects are
temporal and locative. Temporal characteristics (or rather, characteristics with a temporal aspect) are
any characteristics dealing with time, locative ones are those which describe locations. Why these
two? Because people have a natural tendency to think about things with respect to time and
space. As Bertin explains (Bertin, 1983),
Time, like geographic order, can be introduced into any analysis. As a naturally
ordered component, it is a universally identifiable concept, on which
innumerable comparisons can be based.
Because temporal and locative aspects have special cognitive value -- people are used to sorting
things by location or time, any automated design system should be able to know when a
characteristic is locative or temporal.
In addition to breaking the characteristic down into three kinds (quantitative,ordinal, and nominal)
and three aspects (temporal, locative, and standard), various statistical parameters of the
characteristics of the data are computed and included in the shape. These include the maximum,
minimum and average values, the mode, median, standard deviation, average deviation, range
(ratio of maximum value to minimum value), and the length (number of unique values).
32
the rating module
Once the shape is computed, the next step is to select appropriate
case-based reasoner
cases from the example library on which to base the new solution.
Before choosing an example, each example must be rated to asses
its value as a possible basis for the final graphic. As mentioned,
analysis
module
each of the examples in the library contains the shape of the data
that produced that example. It is this abstract description that is
used in the rating process. The shape of the input data is compared
adaptation
to the shapes of each the examples. This comparison is performed
module
by the ratingfunction. The ratingfunction compares two shapes and
returns a theoretical distance, or difference, between the two. In
the current implementation, the ratingfunction for shapes is defined as:
distance = [diff(number of standard ordinal fields) + diff(number of standard nominal) +
diff(number of standard quantitative) + diff(number of locative ordinal) +
diff(number of locative quantitative) + diff(number of temporal ordinal) +
diff(number of temporal quantitative)] * weighti + [diff(number of ordinal) +
diff(number of nominal) + diff(number of quantitative) + diff(number of standard)
+ diff(number of locative) + diff(number of temporal)] * weight 2 + diff(length) +
diff(range) + diff(max) + diff(min) + diff(average deviation);
One of the difficult aspects of building a case-based reasoning tool is often called the indexing
problem -- in the real world, similarity between problems is usually an abstract, nebulous
relationship. Since aide is an automated system, the process of comparing the "new" problem to
previous solutions is performed by a computer. As a result, the relevant aspects need to be listed
in some relatively strict set of criteria, rules, or structures. In the current implementation, the
relatively simple approach described above is taken. As aide's example library grows, this rating
function will need to be replaced with a more complex one, and the system is designed such that
replacing this function is fairly easy.
33
the adaptation module
case-based reasoner
After each of the examples in the library is rated, a subset of them is
visually presented to the user, along with their ratings and a rough
analysis
module
draft of what a graph based on that example could look like. Once
these are presented, the user is prompted to choose one of the
rating
suggested examples to be adapted for the new solution, called the
module
basis example.
~modu
At this point, the user has only chosen an example on which to base
the visualization of the input data. In almost all situations, a
perfect match between the shape of the input data and one of the examples in the library will not
be found. As a result, aide must adapt the chosen example to the input data. This process is
carried out by aide's adaptationmodule.
Before detailing the adaptation process, it is first review the structure of the "solution" (the basis
example) to be adapted. Not only does each example in the library contain the shape of the data
that generated the example, it also contains an abstract description of the design characteristics of
the graphical image, called the encoding. Figure 4.3 contains part of an example encoding for a
graph, and is followed by a description of encodings and how they are adapted.
graph type:
history type:
scatterplot
shadow
graphic variable information:
graphic variable
encoder kind constant
other gv
kind
aspect
range
length
std dev
color:
characteristic
-
-
nominal
standard
-
12
0.234
shape:
characteristic
-
-
quant
standard
18
5
0.944
constant
14 pixels
-
-
-
-
-
-
characteristic
characteristic
-
-
ordinal
quant
temporal
locative
800
213
800
24
0.1934
0.73
x axis:
empty
-
-
-
-
-
-
-
y axis:
empty
-
-
-
-
-
-
-
characteristic
-
-
quant
temporal
85
32
0.10033
empty
-
-
-
-
-
-
-
-
shape size
-
-
-
-
-
shape size:
frame number:
location:
transparency:
label:
label size:
other gv
other information:
vertical scale:
horizontal scale:
vertival grid:
horizontal grid:
top ticks:
right ticks:
bottom ticks:
left ticks:
10 ticks
5 ticks
yes
yes
no
ro
yes
yes
adaptive text:
non-overlapping text:
ro
yes
top outline:
right outline:
bottom outline:
left outline:
yes
yes
yes
yes
Figure 4.3. An encodingfor a scatterplot.
34
Most of the encoding is a set of encoders, one for each of the graphic variables for that graphic. An
encoder describes how to instantiate a specific graphic variable for each element in the database and
can contain a constant value, an abstract description of a characteristic from a database, a pointer
to another encoder, or be empty. The set of graphic variables differs for each of the different types
of graphs. For example, in a scatterplot, the graphic variables include: the location of the marks,
the shape of the marks, the size of the marks, the transparency of the marks, etc. In Figure 4.3, an
encoder is illustrated as a row to the right of each graphic variable listed.
In this example, the color of the marks is assigned an encoder that describes a characteristic of a
database that was nominal, not temporal or locative, had a length of 12 and a standard deviation of
.234. Similarly, the shape of each mark was determined by a characteristic that was quantitative,
had a range of 18, a length of 5 and a standard deviation of .944. It is important to note that the
description of the characteristic contains information about its kind, aspect, and various statistical
information, but does not contain any of the original values from the original database. Also
found in the example above, the size of the shapes (the graphic variable "shape size") was a
constant value of 14 pixels. Notice that the encoder for the size of the labels points to the graphic
variable "shape size", so they also were a constant of 14 pixels.
In addition to encoders for graphicvariables, an encoding includes a graph type (scatterplot,
linechart, barchart, etc.) and some additional information about axis labels, axis scales, grid lines,
etc. Each example in the library contains a shape and an encoding.
The encoding can be thought of as a template, for it describes the salient characteristics of a
graphical image in terms of the data used to construct it. However, the example chosen by the
user was derived from a different set of data than the input data, so aide must adapt the chosen
encoding.
There are a few general types of adaptation schemes in case-based reasoning. One method is
called structuraladaptation, where the adaptation rules merely change the chosen solution. When
a solution containing rules about object x are adapted for object y, all instances in the solution that
refer to x are merely replaced by y. The solution is then checked for possible conflicts.
Another approach to adapting solutions is called derivationaladaptation or derivational
analogy. (Carbonell, 1993).This approach works best for solutions that are stored as a set of rules.
This adaptation process creates new solutions by recreating the line of reasoning used to generate
the original solution for the new conditions. In effect, a new solution is generated by, as Riesbeck
puts it, "re-executing parts of the original solution process." aide's adaptation process is a
combination of the two and will now be described in more detail.
35
The first step of the adaptation process is to create a new encoding for the new graph. This is done
so that the basis encoding, selected by the user from the example library, is not changed. This
encoding will describe the newfinal graphic is called the adaptedencoding. The adaptedencoding is
assigned the same graphical form (scatterplot, barchart, or linechart) as the basis encoding. Then,
each of the graphic variables is assigned an empty encoder, referred to as adapted encoders (the
encoders in the basis encoding are called basis encoders). Next, each of the adapted encoders is adapted
from its corresponding encoder in the basis encoding.
The adaptation of encoders occurs in the following manner: If the basis encoder is instantiated with
a constant value, the adapted encoder for that graphic variable is instantiated with the same constant
value. If the basis encoder points to another graphic variable, the adaptedencoder will point to the
same graphic variable.
The interesting case occurs when the basis encoder contains a description of a characteristic from a
database. In this case, a rating function is used to find the most similar characteristic in the input
data base. If the most similar characteristic hasn't already been assigned to a graphic variablein
the adapted encoding, it is assigned to the encoderbeing adapted. If it has been, then the most
similar characteristic (within a certain range) that isn't assigned is used. In the current
implementation, the ratingfunction for data characteristics is a function of the kind of
characteristic (ordinal,nominal, or quantitative), the aspect (temporal, locative, or neither), and the
various statistical parameters of the field (i.e., maximum value, minimum value, standard
deviation, range, etc.) This ratingfunction,like that for the rating the shapes, is also easily
expanded, and is listed below.
/* this function compares two characteristics, ec and dc. ec is the characteristic from the encoding and dc
is the characteristic from the input data. The higher the rating, the more similar the characteristics. */
rating = 0;
if (ec->aspect == dc->aspect)
retval += c1;
if (ec->kind == dc->kind)
retval += c2;
if ((ec->kind == ORDINAL) && (dc->kind == NOMINAL))
retval += c3;
if ((ec->kind == QUANTITATIVE) && (dc->kind == ORDINAL))
retval += c4;
retval -= diff(ec->length, dc->length) * c5;
retval -= (diff(ec->max, dc->max) + diff(ec->min, dc->min)) * c6;
retval -= (diff(ec->median, dc->median) + diff(ec->standarddeviation, dc->standard-deviation))
retval -= diff(ec->range, dc->range) * c8;
retval -= diff(ec->averagedeviation, dc->average-deviation) * c9;
retval -= (diff(ec->skew, dc->skew)) + diff(ec->variance, dc->variance)) * co;
return(retval);
*
c7;
1
36
For example, assume that the user has chosen the encoding shown earlier and the news database.
One of the encoders is for the color of the marks. The color encoder in the basis encoding is:
Igraphic
variable
color
encoder kind
characteristic
aspect
standard
kind
nominal
range
length
std dev
-
12
0.234
Figure4.4. A color encoder.
The most similar field in the input data is either "Format" or "Priority," so either of these would
be assigned to the color encoder in the adapted encoding.
In summary, the adaptation of encoders is a relatively simple activity. For cases where encoders
are assigned constant values or point to other graphic variables, this information is merely copied
(a structural adaptation of sorts). When the encoder describes a characteristic, the most similar
unused characteristic is assigned. Figure 4.5 summarizes the adaptation of encoders.
basis encoding
adapated encoding
empty
empty
constant value
same constant value
other graphic variable's encoder
same other graphic variable's encoder
characteristic of database
best-rated unassigned characteristic of input data
Figure 4.5. A summary of the adaptationrules for encoders.
Once the system has adapted the encoding from the example, it passes the newly adapted encoding,
along with the input database, to the designer component that creates the visual presentation.
37
5 the designer component
input data
11
234 45 Blue
case-based reasoner
Fast
designer
graphic output
aayI
module
9
0
15 Ye
Slow
43
23
11 Blue
Slow
modle
Once aide has completed adapting an example's encoding, it passes the new encoding, along with
the input database to the designer component of the system. The designer component consists of a
graphing module that contain a set of design skills that allow aide to draw graphs. In addition, aide
contains an encoding editor that allows the user to provide feedback to the system about its design
choices. The system also has an encoding extender. This rule-based module has a set of design
rules that attempt to make a graph present as much information about a database as possible,
given its unique characteristics. This chapter describes the process of designing and drawing, the
encoding editor and encoding extender.
the graphing
11Blu
module
designer
aide functions as a graphic designer's assistant. To that end, the
system is not fully automated, it turns tabular data into visual
(hing,
images with the user being an integral part of the design process.
The graphingmodule is responsible for creating the visual image.
Each diagram is internally described by an encoding, consisting of a
encoding
encoding
list of graphic variables corresponding to the various visual
editor
extender
parameters of the diagram, and information about how to
instantiate each for the data.
asisat.Ttaedteeige
The graphing module contains a set of design skills and heuristics that allow it to create a number
of design choices. The system has a few basic design priorities: to maintain legibility of text, to
provide context for locative information, to make graphs as information-rich as possible. In turn,
the system has a number of design skills and methods for achieving these goals. These skills or
methods include the use of basemaps, adaptive-text, methods for preventing overlap of text, and a
set of rules to match data characteristics to appropriate graphic variables.
38
graphic variables
As described in the previous chapter, each of the different graphic forms (scatterplot, linechart,
barchart, etc.), is partially defined by its own unique list of graphic variables. These graphic
variables are the set of variables to be instantiated in order to draw the final graphic. For example,
for a scatterplot, the list of graphicvariables is: location, shape, size, color, and transparency.
One of the ways aide is different from previous work is that its set of graphic variables is
different than other systems. For example, transparencyis one graphic variable that is used in
aide that has not been used in previous work. Transparency is useful for a number of reasons,
not the least of which being that if two transparent objects overlap, the one that is "in back" does
not get occluded by the other object. Like brightness, people are able to discern different levels of
transparency. As a result, information can be presented through the careful use of transparency.
As another example, many previous systems use texture as a graphic variable, whereas aide does
not.
The system contains a set of graphic design knowledge about how to instantiate each graphic
variable for the different kinds of characteristics. For example, the system is capable of drawing
up to 255 different levels of transparency. aide's designer component contains routines to analyze a
characteristic of a database and convert the values into the range 0-255 appropriately. aide has a
different set of design heuristics for each graphic variable and each kind and aspect of
characteristic. The graphic design knowledge associated with the graphic variables is explained
during the discussion on the encoding extender.
displaying the graph
aide was developed on the Large High-Resolution Display prototype, a 6000x2000 pixel display.
The display has 24-bit color and 100 pixels per inch and was developed at the VLW. The
relatively large display area and high resolution allows for images of a quality close to that of
printed material. In addition, the large amount of screen real estate allows for the simultaneous
presentation of a large amount of information. Each of these was taken into account when
designing the user interface described in Chapter 2.
traditional graphical forms
aide currently has knowledge about four forms of traditional static chart graphics: scatterplots,
linecharts, horizontal barcharts, and vertical barcharts. Because these are fairly common, a
detailed description of them will not be provided here.
39
chartmaps
One of the reasons that aide treats locative information as special is because people have a
tendency to think about things with respect to locations. On of the graphical forms that aide has
special design knowledge about is a specialized form of scatterplot, called a chartmap. The main
difference between a traditional scatterplot and a chartmap is that the marks of a chartmap are not
drawn on a solid background. Instead, the graphing area is filled with an image, or basemap.
Bertin describes the use of basemaps (Bertin, 1983):
The base map consists of the set of known reference points which are necessary
and sufficient for situating the as yet unknown elements of the new information
being mapped.
The drawing of a base map always runs up against the following contradictions:
1) The base map must include all the elements of identification necessary for the
construction and reading of the map on all levels.
2) The base map must be dominated by the new elements being mapped; the
reader must be able to select and group them for information on the
intermediate and overall levels.
The other main difference between scatterplots and chartmaps is that in chartmaps, each of the
locations of the marks are determined by a locative characteristic of the database. One of the
powerful effects of chartmaps is that the location of the marks in the graphing area can convey an
enormous amount of cognitive information. Not only can the user notice clustering or other
patterns just as in traditional scatterplots, but the basemap provides information about the
clusters. The user can get context for the information being displayed, and determine
relationships not only among the elements themselves, but between the elements and the
information on the basemap. In the example above, not only can the user discover the real-world
geographic distribution of news articles, but can also get information about the geographic
relationships between two or more stories, and between an individual story and the real-world
geography of that location.
It is important to note that while in the example above, locations corresponded to real-world
locations, a locative field can be any kind of location. One could use the same technique to
display, say, a floor map of a building and place over it information about the employees in the
building. Or, a basemap could be an image of a human body, and the data could be medical
information about an individual. Another example of a chartmap would be a schematic diagram
of an electrical circuit used as a basemap for a set of information about its components.
One of the design principles that aide uses is suggested by Bertin, "...the first task of the graphic
designer is to separate clearly the lines belonging to the basemap from those constituting the new
information" (Bertin, 1983). As a result, the basemap of a chartmap is often drawn more lightly
40
than the marks derived from the database. Figure 5.1 shows an example of a chartmap derived
from the news data. The locations of the marks are determined by the "location" characteristic
and the size of each mark is determined by the "length" characteristic.
Figure 5.1. A chartmappresentationof the input data shown earlier. The headlinesof news articles are drawn over the locations
from which the articleswere written.
41
automated temporal diagrams
When such a rendering is achieved [a space-time diagram], the spectator himself will mentally recreate the
process of growth; and in doing so, he is exercising vision in motion. The rendering itself is, in any spacetime diagram, motion arrested for vision. Whether one studies statistics or looks at the space-time rendering
of the hand, his contribution is to unfreeze the sign language of vision and recreate the motion. Later, after
he liberates himself from traditional vision, he will be able to apprehend this emotionally as well as
intellectually see it, feel it, know it. Once he has achieved this power he will have broken [as the isolation of
things to a deeper and richer unity of insight.
- L. Moholy-Nagy
Not only do people mentally organize things with respect to locations, they also have a tendency
to think of things with respect to time. Even though time is a linear, single-dimensional
characteristic, its special cognitive value requires unique design techniques.
As Bertin explains (Bertin, 1983), there are two effective ways of presenting temporal information:
When the information involves both TIME and spatial or GEOGRAPHIC
ORDER, the correspondences translate a MOVEMENT...but when the two
planar dimensions are utilized to represent space, no planar dimension remains
available to represent the 'time' component: This is the basic problem with the
representation of movement in cartography. There are three solutions:
a) Construct a series of images. As in the cinema, this solution can be applied to
the most complex of movements. But here, the number of images is limited
by the reading process: with a long series, it is difficult to suggest motion.
b) Represent the path and direction of a moving body. This solution can suggest
a continuous movement on the plane, i.e., MOTION.
c) Utilize a retinal variable.The time component is divided into ordered
categories represented by the different steps of an ordered retinal variable.
aide obviously has the ability to do the third of these suggestions, as any of the graphic variables
could be assigned to a temporal characteristic. More interestingly, aide also has a set of design
heuristics that provide it with ability to present information in the first two ways suggested by
Bertin. aide does this by creating temporal, or dynamic, diagrams.
Temporal diagrams are presented as a series of separate images derived from the data. In most
cases, the data is rendered once for each value of a temporal characteristic and images are
presented sequentially, like a movie. This animated sequence allows the viewer's own ability to
perceive change over time to discover how the various characteristics of the data change with
respect to time.
aide creates sequences of images by including a graphicvariable calledframe number in some of its
encodings. The result of this is that a characteristic of the data can be assigned to the frame of the
sequence, and frames are presented to the user by sorting on that characteristic. As mentioned,
42
theframe number encoder is most often assigned a temporalcharacteristic of the input data, but aide
contains design knowledge about how to instantiate any characteristic for theframe number.
One of the main problems with animated sequences is that they rely on the viewer's memory to
perceive change. In other words, the user compares the currently presented image with a
memory version of the previous image. While this can be very effective for short sequences, it
can become problematic as the length of the animated sequence increases. It is often necessary to
provide the viewer with context for the current image, and this context is the previously viewed
images. Just as the basemap in a chartmap provides the user with more context, aide employs
special graphic techniques to provide viewers of dynamic graphics with a sense of history and
context. There are many effective ways to provide such information (Sivasankaran), and aide
implements a few of these. One of the most simple ways is to retain images on the screen as the
dynamic presentation progresses. Current images are then drawn over previous ones. Bertin
explains:
The movement of a vehicle, for example, is best expressed by the "trace" of a
moving body. This trace corresponds to a change in implantation: a point traces
a line, a line or an area traces an area. But with complex movements, the area
becomes cluttered and indicates direction poorly
At the end of the animated graphic, marks are left that represent the data at all time values.
Figure 5.2 shows one of the most famous visualizations of this type, one that displays the number
of troops under Napoleon over a continuum of time and space (Marey via Tufte, 1983).
£e*h9dmhpm10y
u4.Ir'-do*
ri'-
M
Figure 5.2. A graphicalpresentationof data about Napoleon's campaign againstRussia.
Figures 5.3-5.5 show a few frames from a trace dynamic scatterplot produced by aide using this
method on a set of data describing simulated air traffic patterns. The characteristics of the
database include: flight number, time of day, location, airline, air speed and altitude. The
43
encoding instantiatesframenumber from "time of day," location from "location," and shape size
from "altitude". aide draws a fully rendered image for each value of "time of day," producing an
animation of 250 frames. When the complete series of images is finished, there is a mark over
every location visited by every plane. 7
Figure5.3. Aframe from a dynamic chartmap drawn by aide. Frame 100 out of 250.
Figure 5.4. Frame 175 out of 250.
Figure5.5. Frame250 out of 250.
7 This type of presentation
of images - a few from a sequence all shown at once, side-by side, is often called a storyboard
presentation and is another kind of temporal graphic. While aide is not currently able to produce such graphics, it is an
area for future work. See Chapter 6 for a more detailed discussion of storyboards.
44
While this type of graphic is effective for some data, sometimes the "old" images clutter the
screen to the point where they interfere with the "current" information. In many situations, it is
desirable to retain the "old" information, yet with a lower visual priority (much like the basemap
in a chartmap). In aide, this technique is called generating a shadowed dynamic graphic. In this
type of graph, when a new frame is drawn, the marks representing the data in the previous frame
are made more transparent and smaller, leaving a shadow-like history of the data.
In situations where even the shadowed information interferes with the "current" data, it is
desirable to completely erase the visualized information after each frame. In addition to the two
types of dynamic graphics describe above, aide is capable of creating such no-history dynamic
graphics.
The implementation of dynamic graphs is done by adding a graphic variable named frame number
to the encoding of particular graph forms. As a result, the user can choose any characteristic to
instantiate in the encoder for frame number. In the example above, if the user chose "airline"
instead of "time of day," the user would see one frame with all of the airplanes of one airline, and
the next frame would have all of the planes of another airline, and so on. The result is that users
can use real-world time as a way to sort information and encode it in the graphical presentation.
labeling of data points while maintaining legibility
Automated layout systems have the potential for legibility of labels to be diminished in at least
three ways: 1) labels can overlap, 2) the background image can interfere with legibility due to
spatial frequencies, and 3) in colored systems, the color of the background can interfere with
discerning the shapes of the characters. aide contains design heuristics that attempt to diminish
the effects of each of these.
One activity an automatic layout system must perform is to place labels on a graph -- the system
must decide exactly where to place these labels. If the system is not sophisticated in its label
placement, it can easily place labels over each other, over other points on the graph, or over other
important graphical information. Optimal label placement is a condition where labels do not
overlap at all. Finding this state (if it exists at all) for a set of data has been shown to be an NPhard problem for automated systems (Marks, 1991; Formann, 1991). It is a challenging task even
for a trained human designer to effectively layout a graphic and be able to label many points.
Current research into what is often called "the cartographic label-placement task" has shown that
certain low-cost algorithms exist that can find near-optimal solutions. One such algorithm, called
"gradient-descent" has been implemented in aide (Christensen, et. al, 1991). Whether labels are
allowed to overlap or not is part of the encoding of a graph and as such, the user can modify this
parameter.
45
The gradient-descent algorithm has been shown to provide considerable improvement over
random placement of labels, and is relatively computationally inexpensive. In many cases, it has
been shown to be the second-best method available in terms of performance (the first being
simulated annealing). The gradient-descent algorithm is simple, and is described as follows:
1. For each feature, place its label randomly in any of the available potential positions.
2. Repeat until no further improvement is possible:
(a) For each feature, consider moving the label to each of the alternative positions.
(b) For each such repositioning, calculate the change in the objective function which
would result if the label were moved.
(c) Implement the single label repositioning that results in the most improvement.
While it is true that the gradient-descent algorithm has the disadvantage of only choosing local
minima instead of global minima, it does provide a significant improvement with limited cost.
This, combined with the simplicity of the code needed to implement the algorithm, make it a
beneficial addition to aide. In the current implementation, there are four possible locations: to
the upper-right, upper-left, lower-right, and lower-left of the point being labeled.
Figures 5.6-5.8 illustrate different methods of labeling points. Figure 5.6 has all of the labels to the
upper right of the symbols, 5.6 has the labels in random positions, and 5.8 is a set of points
labeled with the gradient-descent method.
SmallvillNew Albany
SMetropolgrookview
HibbioWest Fluke
Springs
GoBigville
A
Figure5.6. Labels to the upper right of symbols.
Smallville
HibbiVest Fl
Hi
Fik
i
pwiiw
Golden Valley
Figure 5.7. Labels with random positions.
New Albany
i agSmallvillMetrop
WestWetFieville
Fsle
Golden Valley,
W
rookview
0Dry Springs
Bigville
Appleton
Figure 5.8. Labelingusing the gradient-descentmethod.
46
An additional potential problem with labeling is often most profound in chartmaps or other
graphical forms in which text is placed over a non-uniform background. When the background
has high spatial frequencies, these frequencies interfere with the shapes of the characters in the
text, making them difficult to discern, which in turn causes a decrease in legibility The solution
to this problem is to remove the spatial high frequencies of the background image in the
bounding box of the text. This can be achieved in many ways (television often uses a "dropshadow," whereas subtitles in movies are often printed over solid opaque rectangles). aide
removes the high spatial frequencies of the background by using a technique called adaptive text
that draws a blurred rectangle of the average background color behind the text (Bardon, 1991).
This technique has been shown to be more effective than drop-shadows, outlines, and solid
background rectangles because it adds less extraneous information to the letter forms. Figure 5.9
illustrates the difference between adaptive and non-adaptive text.
Figure 5.9 A comparison of adaptiveand non-adaptivetext.
If the color of a label is similar to the background color in either hue or brightness, recognizing
where a text character ends and the background image begins can be difficult (i.e., blue text on a
blue background is difficult to read if the blues are similar). In colored automatic layout systems,
this situation must be accounted for. All the text in aide is color adaptive. Color adaptive text
maintains legibility by adjusting the color of a piece of text before it is drawn so that it is always
perceived to be a specific color, regardless of the background. This is done by adjusting the color
of the text to compensate for the interactive effect of the background color (Ishizaki, 1991).
Finally, all of the text in aide is anti-aliased, also contributing to its legibility.
47
editing the encoding
designer
Once the final graphic version of the image is rendered, it is possible
that the user is unsatisfied with some of the aspects of the graphic.
The user can edit the image through the key window by clicking on
graphing
module
any of the values in the window. If the user clicks on any of the
values shown in the second column of the key window, the user can
encoding
extender
change the encoder assigned to that graphic variable. For example,
in the news chartmap example shown earlier, the color encoder was
assigned to the characteristic named "Format". The line of the key is
shown in Figure 5.10.
graphic variable
derived from
color
Format
min
max
flipped
no
Figure 5.10. The color encoder line from the key for the news chartmapshown in Figure 5.1.
If the user clicked down on the word "Format" in order to change how the colors of the marks
were determined, the encoder editor window would appear. This window is a palette containing
one button for each of the characteristics of the database, along with buttons for constant values,
an empty encoder, or the same encoder that is assigned to a different graphic variable. A sample
encoder editor for this example is shown below.
1Please
choose a new encoder value for color:
No encoder
constant value
"Title" characteristic
"Location" characteristic
"Age" characteristic
"Length" characteristic
"Category" characteristic
"Priority" characteristic
Same as "color"
Same as "transparency"-
Same as "label"
Same as "label size"
Same as "shape"
Same as "shape size"
Same__as_ "location"
Same
Same as "x axis"
S~ame as "y axis" , ,
frame number"
Figure5.11. The encoder editor.
In addition, the user can change the maximum and minimum values for certain graphic variables,
such as transparencyand shape size by clicking on the values in the "max" or "min" columns. The
user can change the orientation of a particular graphic variable by clicking in the "flipped"
column.
48
extending the encoding
designer
One of the assumptions made in designing aide was that often, a user
graphing
module
has no a priori knowledge about the data and wants to get a good
overall view of the data. One of the modules of aide rests on the
notion that as much information as possible should be encoded in the
final image, and tries to design (or re-design) graphics in such a way
that as many characteristics of the data as possible are visualized.
encoding
editor
encoding
extender
This module is called the encoding extender and uses a rule-based
approach similar to that of Mackinlay and others.
k
M
To extend a graph, a user can click on the "extend" button drawn above the key. This button
triggers a set of rules that check each of the graphic variables. If a graphic variable has no
encoder assigned to it, and there are characteristics of the data that are not graphically
represented, aide tries to find an appropriate match. The basis for this matching is summarized
in Figure 5.12.
graphic variable
color
shape
label
line number
transparency
location
x axis
kind desired
nominal
nominal
nominal
nominal
quantitative
quantitative
quantitative
aspect desired
any
any
any
any
temporal
locative
temporal/any
y axis
quantitative
any
shape size
label size
quantitative
quantitative
any
any
bar height
quantitative
any
bar width
quantitative
any
linewidth
quantitative
frame number
ordinal
other
length should be close to (but not more than) size of color palette
length should be close to (but not more than) size of shape palette
range should be a factor of the total number of elements
range should be a factor of the total number of elements
_any
temporal
Figure5.12. A summary of the rules used to extend an encoding.
For example. assume that for the database of news articles described earlier, the user chose an
encoding that created a very simple graph, one in which only two graphic variables were
assigned encoders: location was assigned the "Location" characteristic, and "label" was assigned
the "Title" characteristic. In this case, the other graphic variables (color, transparency, shape,
shape size, etc.) were all assigned empty encoders. In addition, "Age", "Priority", and "Format"
would not be visually represented. If the user directed aide to try to extend the encoding, the
system would discover that the color encoder was not assigned to a characteristic, and would
search through the input data for a non-represented characteristic that was nominal and had a
length less then the number of available colors (12 in the default palette). As a result, it would
49
assign the "Format" characteristic to the color encoder, extending the amount of information in
the final graphic.
This prioritization is loosely based on the work done by Cleveland and McGill. However, it
needed to be adapted to aide's unique set of graphic variables. For example, no previous
automated design system uses transparency in its diagrams, so a measure of the visual
effectiveness of transparency needed to be assessed. This new prioritization was researched and
created by the author. While the table above describes the types of characteristics that are
desirable for each graphic variable, it does not tell the entire story. In addition, there is a specific
order in which aide tries to assign the graphic variables, and this list is different for each of the
different graphical forms. Figure 5.13 contains these priorities.
scatterplots
location
x axis
y axis
shape size
color
shape
label
frame number
transparency
linecharts
x axis
y axis
line number
color
shape
label
shape size
label size
transparency
label size
line width
vertical barcharts
x axis
bar height
color
bar width
transparency
label
Figure 5.13. The prioritiesfor instantiatinggraphicvariables when extending an encoding.
50
horizontal
barcharts
y axis
bar width
color
bar height
transparency
label
6 conclusions
This section contains an analysis of aide. This includes a summary of the system, an analysis of
its functionality, a list of areas for future work, and some conclusions.
summary
Because of the large demand high-quality visualizations of data, and because this process is
complicated and often expensive, automated layout systems have been created to try and
perform the job of graphic designer. Most of these systems use rule-based design algorithms to
convert data into images. While these systems function well in certain situations, their
functionality is severely limited.
The prototype research system aide was implemented advance the field of automated layout in
four distinct ways. These are: 1) combining a case-based approach with traditional rule-based
automatic layout paradigms, 2) treating locative and temporal characteristics as special and
creating specific design rules for these types of data characteristics, c3 creating dynamic graphics,
and 4) building a system capable of creating more information-rich graphics through the use of
advanced design and display technologies.
The main motivation for aide was to build a system that designed statistical graphics in a manner
similar to that of a trained graphic designer. Namely, by trying to create new graphics based
upon previously successful designs. By using an artificial intelligence technique called casebased reasoning, aide creates visual representations of data by analyzing the data, comparing it
to a library of examples of other graphical presentations, and adapting one or more of the
examples to the input data provided. Using this methodology, aide has been successful in
producing effective graphics from input data. By comparing the input data to a library of
example and recommending examples to the user for use as a basis for new visualizations of the
input data, aide puts the power of a graphic designer in the hands of an ordinary user, allowing
him to create effective, high quality graphics from data without significant training.
The system is also interesting because it extends some of the theories of automated design. aide
was built with the notion that temporal and locative characteristics are special and that unique
design paradigms must be employed to present these types of information. As a result, aide has
knowledge of these aspects of characteristics and can use this accordingly. The system's ability to
display this information in unique ways demonstrates the need for any automated system to be
able to sort data characteristics in as many ways as possible, and to have special design
paradigms for characteristics that have special cognitive value, like temporal and locative ones.
51
Like other automated layout systems, aide capable of designing and displaying static
visualizations of data in many different forms, including standard scatterplots, barcharts and
linecharts. In addition, however, the system expands the field of automated layout by being able
to design and present dynamic graphics as well as static ones.
aide demonstrates that case-based reasoning is an effective way to generate graphics from data.
By combining this technique with traditional rule-based automated layout techniques, extending
traditional rule-based algorithms for automated layout by having special knowledge of certain
important types of characteristics, by being able to produce dynamic and static graphics
combined with its advanced display environment and design skills, aide is a powerful system
capable of producing a wide range of effective statistical graphics that contribute to both the
fields of artificial intelligence and automated layout.
areas for future work
The success of a case-based system not only lies in its ability to adapt old solutions to problems,
but in the ability to choose appropriate old solutions to adapt. The more solutions available to
the system, the more options it has to choose from. In other words, a case-based system is only as
good as its example library. As of the time of this printing, aide's library contained around 30
examples, but these examples were not well distributed throughout the entire space of possible
data shapes. Most of the examples in the library had less than ten characteristics, and most had no
more than three characteristics of any one kind or aspect. The system could be improved by
expanding the example library.
One of the ways in which aide expands the field of automated design is by treating temporaland
locative information as special types. While it is true that singling out these two aspects allow a
more robust categorization than without, merely adding these two does not cover the entire
range of characteristics that could benefit from having special design rules. The current
implementation requires a moderate amount of work to add new aspects. It is ineffective to
rewrite the system for every new aspect, and aide could benefit from using a grammar to define
aspects and their special design rules. This would allow the system to be expanded more easily.
In the current implementation, values for locative characteristics must be precomputed for the size
of the screen. There should be a more system-independent format of locative information. For
example, real-world locative information could be stored in latitude/longitude. However, with
such a scheme, a conversion routine from latitude/longitude to the screen position must be
provided. This is easy for real-world coordinates, but for arbitrary basemaps, there is no simple
way to make this conversion routine separate from the system code, unless an interpreter of some
sort was written.
52
Both Bertin and Tufte argue that for images such as certain kinds of maps or graphs that
represent cyclical data (such as a 24-hour span), the image should be rendered in such as way as
to reflect this aspect of the data. This is done by "wrapping" the image, printing part of the left
portion of the image to the right of what would normally be the right edge. This technique can
provide the user with the ability to study any subset of the continuum without an unnatural
break and will soon be added to aide.
While aide is not strictly a graphic production system, it does provide the user with some ability
to edit the parameters of the graph. These details, such as tick marks, graph size, and grid lines,
along with the graphic variables, are part of the graph's encoding. The list of these production
details is severely limited however and could benefit from some expansion. In addition, there are
some graphic variable that could be added to the encodings. For example, texture could be
added to each of the graphic forms, and line style (solid, dashed, etc.) could be added to
linecharts. These additions would increase the expressivity of the graphics and would be
relatively simple to add to the system.
The system is currently able to design only four basic forms of graphic diagrams (scatterplots,
linecharts, vertical and horizontal barcharts). Even with the addition of dynamic graphics and
other extensions, the number of different graphical forms in the real world is much larger. aide
should be expanded to be able to draw more complicated forms of graphics, such as span graphs,
box plots, and others.
Dynamic graphics are a powerful way to provide the user with information about temporal
characteristics, but they are not they only way to present temporal information. One of the most
common ways to present temporal information in a static display is by use of a storyboard. These
presentations are made by rendering a different image for each of the time values and presenting
them side by side. Figure 6.1 shows an example of a storyboard presentation of the population of
Chinese poets during for major dynasties (Cheng-Siang via Tufte, 1990). Although it would be
easy to extend aide to be able to create scatterplots, the current implementation does not provide
this functionality.
Figure 6. 1. An example ofa storyboard.
In addition, aide needs a more flexible structure for the input data. Currently, the data is
organized into a two-dimensional structure. However, the system is built to display multi-
53
dimensional data that is often difficult to reduce to a simple two-dimensional structure. As a
result, the input data file format needs to be expanded.
One way to improve aide's performance would be to improve its rating function. In the current
implementation, the rating function was created and adapted by the author over the course of
writing the software. It would be nice to add a "learning" module to the code that watched the
choices that the user made or to conduct an ablution study to determine what measures were
most important in enabling the "best" match.
aide was written to function as an assistant to a user. There are situations, however, where
design needs to happen without human intervention. There should be an optional mode for aide
in which it makes all of the design decisions, removing the user from the process entirely.
evaluation
There are many parts of aide that can be evaluated, but the most important issue is whether or
not the system is capable of taking data and producing relevant graphs from that data. The
answer to this question is yes.
aide's rule-based graphic design paradigm is similar to that of previous work, and as such
produces encodings that can create graphics similar in style to that of previous work. The
enhanced display capabilities and additional rules for locative and temporal information increase
the quality of the graphical presentations. The case-based section of aide performs quite well
when the input data's shape is very similar to that of one or more of the examples in the library.
When the input shape is far outside the space spanned by the examples, the system still does a
reasonable job, but there is still a lot of room for improvement. One of the easiest ways is to
increase the example space by entering more encodings. In addition, the adaptation module
routines need to be improved.
One interesting aspect of the system is that it makes its design choices based on input from a user.
If the user chooses an example with a shape very different than that of the input data, the results
are unpredictable. The system can notify the user that he has made a "poor" choice, but
nonetheless continues to try to adapt the chosen example to the input data. It is often the case
that this process does not produce good results and the resulting graphic is unintelligible.
Even with its limitations, aide is a powerful tool for anyone who needs to create graphics from
data. It expands previous research in four important ways, and is capable of creating highquality, informative, effective graphics from data. aide contributes to both the field of automatic
layout and artificial intelligence by playing the role of a graphic designer's assistant.
54
references
Anscombe, F.
J.,"
Graphs in Statistical Analysis", American Statistician,Volume 27, 1973.
Bardon, D.," Adaptive Typography for Dynamic Mapping Environments", Visible Language
Workshop, Media Laboratory, MIT, Cambridge, MA, USA, 1991.
Bertin, J., Semiology of Graphics, W.
WI, USA, 1967, 1983.
J. Berg translation, University of Wisconsin Press, Madison,
Carbonell, J., "Derivational Analogy: A Theory of Reconstructive Problem Solving and Expertise
Acquisition", Readings in Knowledge Acquisition and Learning:Automating the Construction and
Improvement of Expert Systems, B. G. Buchanan and D. C. Wilkins, ed., Morgan Kaufmann, San
Mateo, CA, USA, 1993.
Cheng-Siang, C., An Historicaland CulturalAtlas of China, Tokyo, 1981.
Christensen, J., Marks, J., and Shieber, S., "Algorithms for Cartographic Label Placement",
Proceedingsof the American Congress on Surveying and Mapping, Volume 1, New Orleans, LA, USA,
1983.
Cleveland, W. S. and R. McGill, "Graphical perception: Theory, experimentation and
application to the development of graphical methods", Journal of The American Statistics
Association, Volume 79, 1984.
Colby, G. "Intelligent Layout for Information Display: An Approach Using Constraints and
Case-based reasoning". S.M. Thesis, Media Arts and Sciences, Massachusetts Institute of
Technology. Cambridge MA, USA, 1991.
de Dainville, F., Population 13, Number 3, France, 1958.
Freeman, H. and J. Ahn, "A packing problem with applications to lettering of maps", Proceedings
of the Seventh Annual Symposium on ComputationalGeometry, ACM, North Conway, NH, USA,
1991.
Gnanamgari, S., Information Presentation through Default Displays, Computer and Information
Sciences Report 81-05-02, University of Pennsylvania, Philadelphia, PA, USA, 1981.
Ishizaki, S., et. al., "Adjusting simultaneous contrast effect for dynamic information display",
Proceedings of the 8th Joint Conference on Color Technology, pp. 81-84, 1991. (in Japanese)
Johnson, M., "WavesWorld: A Distributed Parallel Testbed for Autonomous Animation",
unpublished.
Mackinlay, J., "Automating the Design of Graphical Presentations of Relational Information",
ACM Transactionsof Graphics,Volume 5, Number 2, USA, 1986.
MacNeil, R., "Adaptive Perspectives: Case-Based Reasoning with TYRO, the Graphic Designers
Apprentice", Proceedingsof the IEEE 1990 Workshop on Visual Languages, USA, 1990.
MacNeil, R.," TYRO: A Constraint Based Graphic Designers Apprentice", Proceedingsof the IEEE
1989 Workshop on Visual Languages, USA, 1989.
Maes, "How to do the right thing", Connection Science Journal,February, 1990. Also, MIT Al-LAB
Memo 1180.
55
Marks, J. and S. Sheiber, "The computational complexity of cartographic label placement",
Technical Report TR-05-01, Harvard University, March 1991.
Marey, E.
J., La Methode Graphique,Paris, France, 1885.
Mashiushi, T., et al., "6000x2000 Display Prototype", Visible Language Workshop, Media
Laboratory, MIT, Cambridge, MA, USA, 1991.
Moholy-Nagy, L., vision in motion, Paul Theobald and Company, Hillson & Etten Company,
printers, Chicago, IL, USA, 1947, 1961.
Playfair, W., Commercialand PoliticalAtlas, London, England, UK, 1786.
Riesbeck, C. and R. Schank, Inside Case-BasedReasoning, Lawrence Erlbaum Associates, Hillsdale,
NJ, USA, 1989.
The Prisoner,ITC Entertainment, London, England 1968.
Sivasankaran, V. K. and C. L. Owen, "Data Exploration: Transposition Operations in Dynamic
Diagrams", Design Processes Laboratory, Institute of Design, Illinois Institute of Technology,
Chicago, IL, USA.
Tufte, E. R., Envisioning Information, Graphics Press, Cheshire, CT, USA, 1990.
Tufte, E. R., The Visual Display of QuantitativeInformation, Graphics Press, Cheshire, CT, USA,
1983.
Zipf, G., The Psycho-biology of Language, Houghton-Mifflin, Boston, MA, USA, 1935.
56
appendix a - related readings
Adams, W., "An Ergonomical Approach to Bertin's Method", Information Design Journal, Volume
3, 1989.
Albers, J., Interaction of Color, New Haven Press, New Haven, CT, USA, 1963.
Ayers, L. P., The War with Germany, Washington, D. C., USA, 1919.
Bertin, J., Graphics and Graphic Information Processing,W.
de Gruyter & Co., Berlin, Germany, 1970.
J. Berg and P.
Scott translation, Walter
Casner, S. M., "A Task-Analytic Approach to the Automated Design of Graphic Presentations",
ACM Transactionson Graphics,Volume 10, Number 2, Association for Computing Machinery,
New York, NY, USA, 1991.
Chernoff, H. "The Use of Faces to Represent Points in k-Dimensional Space Graphically", Journal
of the American StatisticalAssociation, Volume 68, 1973.
Christ, R., Review and Analysis of Color Coding Research for Visual Displays, Human Factors,
Volume 17, Number 6, 1975.
Colby, G. and L. Scholl," Transparency and Blur as Selective Cues for Complex Visual
Information", Visible Language Workshop, Media Laboratory, MIT, Cambridge, MA, USA, 1991.
Cooper, M., Design Quarterly, Volume 142, MIT Press, Cambridge, MA, USA, 1989.
Crichton, M., Electronic Life: How to Think About Computers, Ballantine Books, New York, NY,
USA, 1983.
Davidoff, J., "The Role of Colour in Visual Displays", InternationalReviews of Ergonomics, Volume
1, D. J. Oborne, ed., Taylor and Francis, 1987.
Davis, W. and A. McCormack, The Information Age, Addison-Wesley, Reading, MA, USA, 1979.
Dondis, D. A., A Primerof Visual Literacy, MIT Press, Cambridge, MA, USA, 1973.
Feiner, S., "A Grid-Based Approach to Automating Display Layout", Proceedingsof Graphics
Interface '88, Morgan Kaufmann, Palo Alto, CA, USA, 1988.
Friedell, M. "Automatic Synthesis of Graphical Object Descriptions", Computer Graphics, Volume
18, Number 3, 1984.
Friedell, M., J. Barnett, and D. Kramlich, "Context-Sensitive Graphic Presentation of
Information", Computer Graphics,Volume 16, Number 3, 1982.
Graphis Diagram 1, The Graphic Visualization of QuantitativeInformation, Procedures,and Data, B.
Martin Pedersen, ed., Graphis Press, Zurich, Switzerland, 1988.
Hollands, J. G., and I. Spence, "Judgments of Change and Proportion in Graphical Perception",
Human Factors,Volume 34, Number 3, 1992.
Holmes, N., A Designers Guide to CreatingCharts and Diagrams, Watson-Guptill Publishers, New
York, NY, USA, 1984.
Huff, D., How to Lie with Statistics,Norton, New York, NY, USA, 1954.
57
Hulburt, A., The design concept, Watson-Guptill Publications, New York, NY, USA, 1981.
Hurlburt, A., Layout: the design of the printed page. Watson-Guptill Publishers, New York, NY,
USA, 1977.
Johnson, M. B., "Build-a-Dude", S.M. Thesis, Media Arts and Sciences, Massachusetts Institute of
Technology, Cambridge, MA, USA, 1991.
Lieberman, H., "Communication of Expert Knowledge in Graphic Design", Visible Language
Workshop, Media Laboratory, MIT, Cambridge, MA, USA, 1988.
Meyer, J., and D. Shinar, "Estimating Correlations from Scatterplots", Human Factors, Volume 43,
Number 3, 1992.
Muller-Brockmann, J., The GraphicDesigner and His Design Problems, D.
translation, Hastings House Publishers, New York, NY, USA, 1983.
Q.
Stephenson
Pinker, S., "Visual Cognition: an introduction", Cognition, Volume 18.
Pinker, S., "A Theory of Graph Comprehension", MIT Brain and Cognitive Sciences Department,
Cambridge, MA, USA, 1981.
Pokorney, J. and V. C. Smith, "Colorimetry and Color Discrimination", Eye Research
Laboratories, The University of Chicago, Chicago, IL, USA.
Robertson, P., Visualizing Color Gamuts: A User Interface for the Effective Use of Perceptual
Color Spaces in Data Displays, Computer Graphicsand Applications, 1988.
Tukey, J. and M. B. Wilk, Data Analysis and Statistics: Techniques and Approaches, The Quantitative
Analysis of Social Problems, E. Tufte, ed., Reading, MA, USA, 1970.
Tukey, J., "Some Graphic and Semigraphic Displays," Statistical Papersin Honor of George W.
Snedecor, T. A. Bancroft, ed., Ames, IA, USA, 1972.
Tukey, J., ExploratoryData Analysis, Reading, MA, USA, 1977.
Wainer, H. and D. Thissen, "Graphical Data Analysis," Annual Review of Psychology, Volume 32,
1981.
Ware, C. and J. C. Beatty, "Using Color as a Tool in Discrete Data Analysis", Computer Science
Department, University of Waterloo, Report CS-85-21, Waterloo, CANADA, 1985.
Ware, C. and J. C. Beatty, "Using Color Dimensions to Display Data Dimensions", Human
Factors, Volume 30, Number 2, 1988.
Weitzman, L., "Designer: A Knowledge-Based Graphic Design Assistant," MCC Technical Report
ACA-HI-017-88, Austin, TX, USA, 1988.
Wurman, R. S., Information Anxiety, Doubleday Dell Publishing Group, Inc., New York, NY, USA,
1989.
Yee, M. M., "System Design and Cataloging Meet the User: User Interfaces to Online Public
Access Catalogs", Journalof the American Societyfor Information Science, Vol. 42, John Wiley &
Sons, 1991.
58
appendix b - biographies of readers
Ken Haase is a member of the faculty at the MIT Media Lab as part of the Common Sense and
Learning Group. His research focus is currently Knowledge Representation, and his FRAMER
system is being used in many ongoing research projects at the Media Lab.
Joe Marks is a member of the research staff at Digital Equipment Corporations Cambridge
Research Lab. Dr. Marks received his Ph.D. in Computer Science from Harvard University in
1991. Prior to his graduate studies, he was employed at BBN Laboratories in Cambridge, MA,
where he worked on simulation and training systems, and at Wang Laboratories, where he
worked on office-information systems. His research interests include computer graphics,
artificial intelligence, user interfaces, and stochastic optimizations. In addition to his research
activities, he has taught several courses on computer graphics, graphical user interfaces, theory of
computation, and introductory programming at Harvard University and Harvard Extension
School.
59
Download