460 likes | 608 Views
Automatic Design of Graphical Presentations. Michael Schiff UC Berkeley April 14, 1998. The Automatic Presentation Design Problem. Why?. Provide guidance for non-experts Explore designs for complex datasets Forces precision in design criteria. Outline. General issues
E N D
Automatic Design of Graphical Presentations Michael Schiff UC Berkeley April 14, 1998
Why? • Provide guidance for non-experts • Explore designs for complex datasets • Forces precision in design criteria
Outline • General issues • Mackinlay’s approach • Composition of graphical languages • Other approaches • Casner • User goals and perceptual tasks • Me • “First principles” design
Input • Datasets of tuples/relations • E.g., {enrollment(Fall 1995, 100), enrollment(Spring 1996, 120)...} (also written {<Fall 1995,100>, <Spring 1996, 120>,…} • Data Characterization • Domain types (nominal/ordered/quantitative) • Functional dependencies (e.g., only one enrollment figure per semester)
Input • Goal characterization • General • What is the enrollment for a given year? • What is the trend in enrollment? • Specific • Find least expensive pair of flights between Pittsburgh and Mexico City with one layover of no more than 4 hours.
Output • Static • Two-dimensional • Method of presentation as well as picture • Layout / rendering the presentation is a separate problem
Fundamental Issues • What is space of possible designs? • How to select appropriate design? • Must be precise
Mackinlay’s approach • “Presentations are sentences of graphical languages” • Graphical languages have precise definitions • Languages can be characterized in terms of expressiveness & effectiveness • Primitive languages can be composed to create new languages
Graphical Languages • Syntax - what is a well-formed sentence of the language? • HorzPos(s) s = h 4 m . <o,l> c m [ o = plusobj . Ymax(h) Ypos(l) = const . Xmin(h) Xpos(l) Xmax(h) ]
Graphical Languages • Semantics - How do sentences encode facts? • Encodes(o, a, HorzPos) b = scale (Position(o,h) + offset) . Encodes(Position(o,h), r(a,b), Horzpos).
Mexico US Canada Expressiveness • Two conditions • Must be able to encode all facts in set • Must encode only those facts
Value of graphical languages • Can prove theorems about both expressiveness conditions • Can’t use Horzpos language to encode one-to-many relation • Can’t use bar graphs to encode nominal to nominal relations • E.g., Nationality(CarMaker, Country) • More realistically, can state provable conditions for using different techniques
Expressiveness conditions • If bar graphs encode order through size relationships...
Effectiveness • Each language involves certain perceptual tasks • Perceptual tasks can be ranked
Accuracy Ranking of Quantitative Perceptual Tasks(Mackinlay 88 from Cleveland & McGill) Position More Accurate Length Angle Slope Area Volume Less Accurate Color Density
Ranking of Applicability of Properties for Different Data Types(Mackinlay 86, Not Empirically Verified) QUANTITATIVE ORDINAL NOMINAL Position Position Position Length Density Color Hue Angle Color Saturation Texture Slope Color Hue Connection Area Texture Containment Volume Connection Density Density Containment Color Saturation Color Saturation Length Shape Color Hue Angle Length
Assumptions • Rankings take interpretation into account • Most accurate = best pattern perception
Design Space - Composition of Primitive Languages • Primitive languages • Single-position - Horizontal, Vertical axis • Apposed position - Line chart, bar chart, plot chart • Retinal-list - Color, shape, size, saturation, texture • Map - Road map, topographic map • Connection - Tree, network • Misc (angle, contain) - Pie chart, Venn diagram • Compose languages to create new languages
APT • Partition -> Selection -> Composition • Break tuples down until they match primitive languages • Choose best primitive language possible • Compose using composition operators • Backtrack if necessary
APT-like systems • SAGE (Roth et al) • More primitive languages and composition operators • Interactive as well as automatic design • Others...
My approach • “First principles” instead of graphic languages • The space of possible representations • Logical principles of expressiveness • Interpretive principles • Perceptual principles • Design space and selection • More complicated design space • Select by multiple criteria
What is a graphic language? • Description of how information corresponds to graphics?? • If we relax our preconceptions, there are lots of arbitrary ways to represent data • Systematic set of encoding conventions • People need systematic conventions • Same types of objects/properties encode same types of information
What is the space of systematic graphic languages? • Property values of objects encode data values • One or more objects with certain perceptual relationships encode a tuple • Possible extra constraints on objects • E.g., alignment
Example: Bar Graph • <Semester, Students> -> Rectangle hpos and height (+ alignment)
Example: Dot Plot • <City1,City2,Airline> -> Circle hpos, vpos, color
Example: Network Graph • <City1, City2, Airline> -> Circle label, Circle label, Line color (+ line touches circles)
Generating potential graphic languages • Partition tuples into groups • Represent each group by some properties of some type of object • Combine multiple objects into compound objects if necessary • Use additional constraints to make presentation more effective This results in a very large design space!
Filtering: Logical principles • Object properties must be able to represent object domains • Can’t overconstrain objects • E.g., can’t use left edge position, right edge position, and width of rectangle to encode 3 values • Other expressiveness concerns
Selection: Interpretive Principles • Main idea: Will people understand encoding conventions quickly and correctly? • Necessary if we’re not starting with known graphical languages • Good/Bad vs. Better/Worse
Interpretive Principles • Simplicity • Consistency • Compatibility • Relevance • Conventionality
Simplicity • Use fewer objects
Consistency • Use same properties to represent same domains, same objects to represent same sets of domains
250 240 230 220 210 200 10 0 Compatibility • Don’t violate metaphors of encoding • E.g., CEO goes at top of tree, not bottom • Use perceptually-supported mappings • Larger size = larger value, proportionality Violation of proportionality principle
Relevance • Avoid random variation of object properties that don’t encode information
Relevance • The most perceptually salient properties should encode information
Conventionality • Individual conventions for domain to property mappings • Varying degrees of generality, cultural specificity • Examples • Color in weather maps • Time goes from left to right, or top to bottom
Selection: Perceptual Principles • Different principles for different goals • Basic goals - extract information from single tuple (e.g., profits for 1995) • Summary goals - extract information from sets of tuples (e.g., trend in 1st quarter profits over a series of years) • Principles help filter bad presentations and rank remaining ones
Basic Goals and Perceptual Operations • Minimize time / maximize accuracy of perceptual operations needed • Choose properties that allow for fast search & discrimination • Choose property values that maximize speed and accuracy • Preattentive search issues (e.g., in choice of colors) • Choose maximally discriminable values
Summary goals and configural properties • Configural properties • Because of perceptual organization, groups of objects may have their own “properties” • Enable summary goals to be satisfied in a “single glance” • E.g, shape and density of point cloud in scatterplot
AUTOGRAPH • Consider many possible choices • Partioning • What objects and properties to use • How to form compound objects • Throw out bad graphic languages as soon as they’re determined to be bad • Rank by principles and choose best one • (Use composition for multiple datasets)
Advantages / Disadvantages • Advantages • Wider variety of possible designs, possibly including novel ones • More uniform, so easier to extend ? • Disadvantages • Exponential number of possible graphic languages, most of them bad • Not always easy to apply principles • Have to figure out how to draw new designs (not necessarily that hard)
Conclusions • General issues for evaluation • What is the design space? • How are methods of representation chosen? • General issues in design • Must be precise in dealing with logical limitations of different techniques • Must be precise in specifying criteria for evaluating designs