Information Visualization CSC540, Fall 2007 Nancy Green 1. What is Information Visualization • Visualization (Viz): using computersupported interactive graphics to “amplify cognition” • Graphics can help user to see hidden patterns in data or solve problems • Scientific viz: data about physical world (pictures, diagrams) • Info viz: abstract, non-pictorial data (e.g. relational database, results of web search) History of Info Viz • Before computers, static data graphics – E.g. line graphs, bar graphs, scatter plots • Now some user interfaces – Use data graphics to present data – Some even automatically design data graphics (e.g. CMU SAGE & VISAGE) – Some allow users to interact with graphics (e.g. dynamic query sliders to let user filter data from display: HomeFinder HCIL TR 92-01: http://www.cs.umd.edu/hcil/spotfire/ ) How Info Viz “amplifies cognition” (1 st) • Enables user to detect patterns visually, e.g. correlation between number of bedrooms and sale price of houses price 1 2 3 bedrooms 4 How Info Viz amplifies cognition (2nd) • Reduces search for information – Spatial indexing: e.g. with weather map you can quickly locate temperature info by geographical location – Data density: e.g. weather map can show temperature, rainfall amount, air pressure, etc. in small space How Info Viz amplifies cognition (3rd) • Reduces load on user’s memory and cognitive processing by allowing user to solve problems using simple perception; example: If A=13, B=99, C=130, which is greater, (A+B) or C? • See next slide … How Info Viz amplifies cognition (3rd) • Reduces load on user’s memory and cognitive processing by allowing user to solve problems using simple perception; example: If A=13, B=99, C=130, which is greater, (A+B) or C? A B Just compare length of A+B (top bar) to C length of C (bottom bar) How Info Viz amplifies cognition (4th & 5th) • Enables user to monitor many events perceptually – Ex. 1,000 node network of blue dots; change to flashing red means node is down! • Enables user to manipulate parameters directly – Ex. Dynamic query sliders 2. How to Design Effective Info Viz Consider each: • user’s tasks and goals • human perception strengths/weaknesses • guidelines for effective design of static data viz • interactive viz operations 2.1 Role of User Tasks & Goals “Text or visual better?” depends on tasks/goals: • If user’s goal to get friend’s phone number – Phone book (alphabetical list): good – On-line city map with rollover to get occupant’s names and phone numbers: not as good if you don’t know where she lives! • If user’s goal to get phone numbers of everyone living on same block (4 streets) – Phone book (alphabetical list): awful – City map described above: really good! Tables vs. Graphs Tables: good for looking up exact numerical values (if table is properly indexed) Graphs: better for seeing patterns, trends, etc. See http://www.bls.gov/cpi/home.htm Role of User Tasks & Goals “Which viz is better?” depends on tasks/goals: Simple example: task to compare two amounts – Unlabeled pie chart: not good (human ability to discriminate angles not good) – Bar graph: better for this task 100 90 80 70 60 50 40 30 20 10 0 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr Role of User Tasks & Goals (2) Example of complex task: Find flight from Pittsburgh to Mexico City with layover in Albuquerque at least 1 hour around 3 pm • Casner’s viz: very efficient for solving this kind of problem (See my reproduction of his 1991 graphic on next slide) • Typical map showing flight connections: not very efficient for this complex task (but good for task of finding shortest route between 2 cities) Based on Casner (1991) 2.2 Role of Visual Perception in Design • Two types of visual perception – Controlled: slow, serial, conscious control (e.g. reading) – Automatic (“preattentive”): fast, parallel, not under conscious control (e.g. pattern “jumps out” from display) • Design of viz can take advantage of preattentive visual perception! Automatic/Preattentive Vision • See next two slides for pictures illustrating good preattentive features: – Color – Shape • And illustrating problems with conjunctions of features – Color and shape Preattentive Vision: Color – Which box contains the red circle? Preattentive Vision: Shape – Which box contains the blue circle? Conjunction of Features – Two or more features cannot be detected with preattentive vision; e.g., find the red circle: 2.3 Static Data Viz Design • Guidelines (some from pre-computer era graphic designers and statisticians!) based on: • Types of data to be displayed: – Nominal: non-numeric, non-ordered, e.g. names of movies – Ordinal: ordered, e.g., <light, moderate, heavy> – Quantitative: numeric, e.g., number of children, age, salary • Independent or dependent variable: – Value of dependent variable (e.g. max temperature) depends on corresponding value of independent variable (e.g. hour of day) – Convention to show independent variable on x-axis Types of Graphs: Pie Graph • Good for rough comparison of part to whole, but not for comparing two parts to each other, because comparing angles is difficult perceptual operation for user 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr Types of Graphs: Bar graph • Good for comparing relative values • x-axis can be nominal, ordinal, or quantitative • Choice of ordering on axes, stacking, and grouping can be used to facilitate different tasks • Above grouping good for task: find quarter/region with most sales • This stack design better for task: find worst quarter for all regions 100 90 80 70 60 50 40 30 20 10 0 East West North 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr 180 160 140 120 100 80 60 40 20 0 North West East 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr Types of Graphs: Line graph • Good for seeing trends • X-axis data must be quantitative, preferably continuous • If task to compare multiple lines, e.g. actual vs. estimated, user must be able to discriminate lines • Subtype: Time series - showing change over time 100 90 80 70 60 50 40 30 20 10 0 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr Types of Graphs: Scatter Plot • Good for showing relation between two variables • Can present multiple data sets using different marks (e.g. red and yellow below) 100 90 80 70 60 50 40 30 20 10 0 0 1 2 3 4 5 Static Data Design Don’ts • Warning: some popular graph-drawing programs like Excel do not prevent users from violating principles of good graph design • Examples: superfluous use of 3D, distracting effects 90 80 70 60 50 40 30 20 10 0 1st 2nd 3rd Qtr Qtr Qtr 4th Qtr 100 90 80 70 60 50 40 30 20 10 0 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr More Complex Static Data Viz Techniques • Superimposing data on maps – See Minard’s famous viz of Napolean’s army: http://www.cs.cmu.edu/~sage/sagewalk1.html • Showing multiple data sets on same graph: http://www.jfree.org/jfreechart/images/PriceVolumeDemo1.png • Or on multiple graphs with aligned axes: http://www.cs.cmu.edu/~sage/sagewalk5.html • Using encoding of mark to show different values (e.g. size of city “dot” on map to convey size) • Use of labeling, annotations (e.g. arrow), or other visual attributes (e.g. different color of bar) to highlight salient data values 2.4 Interactive Viz User Operations • Overview: Get overview of all data (e.g. map showing all houses for sale) • Zoom: zoom in on item of interest (e.g. focus map on area around UNCG) • Filter: filter out uninteresting items (e.g. use slider to remove houses with price over $200K) – see HomeFinder HCIL TR 92-01: http://www.cs.umd.edu/hcil/spotfire/ – HCIL Video Reports 1993 - Dynamaps: http://www.cs.umd.edu/hcil/pubs/video93.shtml • Drill-down: get details (e.g. rollover to get square feet and number of bedrooms) Interactive Viz User Operations (cont.) • Relate: view relationships between data in two data graphs by “brushing/painting” items in one graphic with a color, then see corresponding items in another graph turn same color UNCG $ Age of house Map of campus neighborhoods Interactive Viz User Operations (cont.) • History: undo or replay steps of interaction • Extract: copy data or drag to another application • Aggregation: ask for combined data in display (ex. Show total for years instead of each quarter of each year) • Decomposition: ask to show breakdown of aggregate For examples: see Visage demo http://www.cs.cmu.edu/~sage/visagedd.html )