0% found this document useful (0 votes)
49 views

02 Abstractions

The meaning of data depends on the context and abstraction. Raw numbers or text alone don't convey meaning - we need to understand how they are being used and represented at a higher level of abstraction.

Uploaded by

Michael Nader
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

02 Abstractions

The meaning of data depends on the context and abstraction. Raw numbers or text alone don't convey meaning - we need to understand how they are being used and represented at a higher level of abstraction.

Uploaded by

Michael Nader
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 78

Information Visualization

Abstractions

Tamara Munzner
Department of Computer Science
University of British Columbia
Week 1, Thu 13 Jan 2021

https://www.students.cs.ubc.ca/~cs-436v/21Jan/
Introduction

2
Why does visualization work?
• limits of memory & cognition
– change blindness
• power of perception to reveal MTHIVLWYADCEQGHKILKMTWYN
– how many V's?
ARDCAIREQGHLVKMFPSTWYARN

GFPSVCEILQGKMFPSNDRCEQDIFP

SGHLMFHKMVPSTWYACEQTWRN

3
Why does visualization work?
• limits of memory & cognition
– change blindness
• power of perception to reveal MTHIVLWYADCEQGHKILKMTWYN
– how many V's?
ARDCAIREQGHLVKMFPSTWYARN

GFPSVCEILQGKMFPSNDRCEQDIFP

SGHLMFHKMVPSTWYACEQTWRN

4
Why does visualization work?
• limits of memory & cognition
– change blindness
• power of perception to reveal
– how many V's?
– which of these 50 numbers appears most often?

15 19 60 33 11 75 57 34 79 18 51 92 73 22 13 71 60 22
17 10 68 73 18 55 65 46 29 60 73 22 46 92 97 10 58 46
57 17 83 26 99 33 88 92 60 91 29 57 96 12 47

5
Why does visualization work?
• limits of memory & cognition
– change blindness
• power of perception to reveal
– how many V's?
– which of these 50 numbers appears most often?

15 19 60 33 11 75 57 34 79 18 51 92 73 22 13 71 60 22
17 10 68 73 18 55 65 46 29 60 73 22 46 92 97 10 58 46
57 17 83 26 99 33 88 92 60 91 29 57 96 12 47

6
Exercise
• Which gender and income level shows a different effect of age on
triglyceride levels?

7
Exercise
• Which gender and income level shows a different effect of age on
triglyceride levels?

8
TreeJuxtaposer
Why analyze visualizations? SpaceTree

• imposes structure on huge design space


– scaffold to help you think systematically
about choices
– analyzing existing as stepping stone to
designing new
– most possibilities ineffective for particular
task/data combination [SpaceTree: Supporting Exploration in Large [TreeJuxtaposer: Scalable Tree Comparison Using
Node Link Tree, Design Evolution and Focus+Context With Guaranteed Visibility. ACM Trans.
Empirical Evaluation. Grosjean, Plaisant, and on Graphics (Proc. SIGGRAPH) 22:453– 462, 2003.]
Bederson. Proc. InfoVis 2002, p 57–64.]

What? Why? How?

Tree Actions SpaceTree


Present Locate Identify Encode Navigate Select Filter Aggregate

Targets TreeJuxtaposer
Path between two nodes Encode Navigate Select Arrange

9
Abstractions: Nested Model

10
How to evaluate a visualization: So many methods, how to pick?
• Computational benchmarks?
– quant: system performance, memory
• User study in lab setting?
– quant: (human) time and error rates, preferences
– qual: behavior/strategy observations
• Field study of deployed system?
– quant: usage logs
– qual: interviews with users, case studies, observations
• Analysis of results?
– quant: metrics computed on result images
– qual: consider what structure is visible in result images
• Justification of choices?
– qual: perceptual principles, best practices 11
Nested model: Four levels of visualization design
• domain situation
– who are the target users?
• abstraction domain
– translate from specifics of domain to vocabulary of visualization abstraction
• what is shown? data abstraction
• why is the user looking at it? task abstraction idiom
– often must transform data, guided by task algorithm
• idiom
– how is it shown?
• visual encoding idiom: how to draw
• interaction idiom: how to manipulate [A Nested Model of Visualization Design and Validation.
Munzner. IEEE TVCG 15(6):921-928, 2009

• algorithm (Proc. InfoVis 2009). ]


[A Multi-Level Typology of Abstract Visualization Tasks
– efficient computation Brehmer and Munzner. IEEE TVCG 19(12):2376-2385, 2013 (Proc. InfoVis 2013). ]
12
Different threats to validity at each level
• cascading effects downstream

Domain situation
You misunderstood their needs

Data/task abstraction
You’re showing them the wrong thing

Visual encoding/interaction idiom


The way you show it doesn’t work

Algorithm
Your code is too slow

13
Interdisciplinary: need methods from different fields at each level
• mix of qual and quant approaches (typically)
Domain situation problem-driven
anthropology/ Observe target users using existing tools qual
work
ethnography
Data/task abstraction

Visual encoding/interaction idiom


design Justify design with respect to alternatives qual

computer Algorithm
Measure system time/memory
quant technique-driven
science Analyze computational complexity work
Analyze results qualitatively qual
psychology
Measure human time with lab experiment (lab study) quant

anthropology/ Observe target users after deployment ( ) qual


ethnography Measure adoption quant
[A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 14
Mismatches: Common problem

Domain situation
Observe target users using existing tools

Data/task abstraction

Visual encoding/interaction idiom


Justify design with respect to alternatives

Algorithm
benchmarks can't
Measure system time/memory confirm design
Analyze computational complexity
Analyze results qualitatively
lab studies can't
Measure human time with lab experiment (lab study)
confirm task
Observe target users after deployment ( ) abstraction
Measure adoption

[A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 15
Abstraction: Data (What)

16
What does data mean?
14, 2.6, 30, 30, 15, 100001
• What does this sequence of six numbers mean?
– two points far from each other in 3D space?
– two points close to each other in 2D space, with 15 links between them, and a weight of
100001 for the link?
– something else??
Basil, 7, S, Pear
• What about this data?
– food shipment of produce (basil & pear) arrived in satisfactory condition on 7th day of
month
– Basil Point neighborhood of city had 7 inches of snow cleared by the Pear Creek Limited
snow removal service
– lab rat Basil made 7 attempts to find way through south section of maze, these trials used
pear as reward food 17
Now what?
• semantics: real-world meaning

18
Now what?
• semantics: real-world meaning

19
Now what?
• semantics: real-world meaning
• data types: structural or mathematical interpretation of data
– item, link, attribute, position, (grid)
– different from data types in
programming!

20
Items & Attributes
• item: individual entity, discrete
– eg patient, car, stock, city attributes: name, age, shirt size, fave fruit
– "independent variable"
• attribute: property that is
measured, observed, logged...
– eg height, blood pressure for patient
– eg horsepower, make for car
– "dependent variable"

item: person
21
Other data types
• links
– express relationship between two items
– eg friendship on facebook, interaction between proteins
• positions
– spatial data: location in 2D or 3D
– pixels in photo, voxels in MRI scan, latitude/longitude
• (grids) ‫ﺷﺑﻛﺎت‬
– sampling strategy for continuous data

22
• flat table
Dataset
Data andtypes
Dataset Types
–one item per row
Tables Networks &–eachFields
column isGeometry
attribute Clusters,
Trees Sets, Lists
–cell holds value
Items Items (nodes) Grids Items Items
Attributes Links Positions Positions
attributes: name, age, shirt size, fave fruit
Attributes Attributes

Dataset Types
Tables Networks Fields (Continuous) Geometry (Spatial)
Attributes (columns) Grid of positions

Items Link
Cell
(rows) Position
Node
(item)
Cell containing value Attributes (columns)

Value in cell

Multidimensional Table Trees


item: person 23
• flat table
Dataset
Data andtypes
Dataset Types
–one item per row
Tables Networks &–each Fields
column isGeometry
attribute Clusters,
Trees Sets, Lists
–cell holds value for item-attribute pair
Items Items (nodes) Grids Items Items
–unique key (could be implicit)
Attributes Links Positions Positions
attributes: name, age, shirt size, fave fruit
Attributes Attributes

Dataset Types
Tables Networks Fields (Continuous) Geometry (Spatial)
Attributes (columns) Grid of positions

Items Link
Cell
(rows) Position
Node
(item)
Cell containing value Attributes (columns)

Value in cell

Multidimensional Table Trees


item: person 24
Table

25
Table

item cell

attribute

26
Dataset
Data andtypes
Dataset Types
Tables •Dataset
Networks multidimensional
& Fields
Types tables
Geometry Clusters,
Trees –indexing based on multiple Sets, Lists
keys
Tables Networks Fields (Continuous) G
Items Items (nodes) Grids
•eg genes, Items
patients Items
Attributes (columns) Grid of positions
Attributes Links Positions Positions
Items Link
Cell
Attributes (rows) Attributes
Node
(item)
Dataset Types Cell containing value Attributes (columns)

Value in cell
Tables Networks
Multidimensional Table
Fields (Continuous)
Trees
Geometry (Spatial)
Attributes (columns) Grid of positions

Items Link
Cell
(rows) Position
Node
Value in cell
(item)
Cell containing value Attributes (columns)

Value in cell

Multidimensional Table Trees


27
Visualizing tables

https://bl.ocks.org/jasondavies/1341281
28
Dataset
Data andtypes
Dataset Types
Tables Networks & Fields Geometry
• network/graph Clusters,
Trees Sets, Lists
–nodes (vertices) connected by links (edges)
Items Items (nodes) Grids Items Items
–tree is special case: no cycles
Attributes Links Positions Positions
•often have roots and are directed
Dataset TypesAttributes Attributes

Dataset
Dataset Types
Tables
Types Networks Fields (Continuous) Geometry (Spatial)
Tables
Tables Attributes (columns) Networks
Networks Fields Grid of positions
(Continuous)
Fields (Continuous) Geometry
Geometry(Spatial)
(Spatial)
Items Link
Attributes
Attributes(columns)
(columns) CellGrid
Gridof
ofpositions
positions
(rows) Position
Node
Items Link
Link
Items (item) Cell
Cell
(rows) Cell containing value Attributes (columns) Position
Position
(rows) Node
Node
(item)
(item)
Cell Attributes (columns)
Cellcontaining
containingvalue
value Value in cell
Attributes (columns)
Multidimensional Table Trees
Value in cell
Value in cell
Multidimensional
MultidimensionalTable
Table Trees
Trees
29
Visualizing networks

https://observablehq.com/@d3/force-directed-graph https://bost.ocks.org/mike/miserables/

http://atlas.cid.harvard.edu/explore/?
tradeDirection=import&year=2012&product=726&country=undefined&red
irected=true

30
Dataset types
Data and Dataset Types
Tables Networks & Fields Geometry Clusters,
Trees Sets, Lists
Items Items (nodes) Grids Items Items
Attributes Links Positions Positions
Dataset TypesAttributes Attributes

Dataset Types
Tables
Dataset Types Dataset Networks
Types Fields (Continuous) Geometry (Spatial)
Dataset
Tables Types
Tables Attributes (columns) Tables
Networks
Networks Networks
Spatial
Fields Grid of positions
(Continuous)
Fields (Continuous) Fields
Geometry
(Continuous)
Geometry (Spatial)
(Spatial)
Tables
Items
Attributes (columns)
Attributes (columns)
Networks Link
Attributes (columns) Fields (Continuous)
CellGrid
Grid of
ofpositions
positions Geometry
Grid of positions(Spatial)
Position
(rows)
Node Link
Items
Items Attributes (columns) Items Link
Link (item) Cell Grid of positions Cell
(rows) Cell containing value(rows) Cell Attributes (columns) Position
(rows) Node Position
Node
Link
Node
Items Cell (item)
(item)
(item)
(rows) Cell containing value Cell containing value Attributes (columns)
Value in cell Attributes (columns) Position
Cell containing value Node Attributes (columns)
Multidimensional Table Trees (item)
Cell containing value Attributes
Value in (columns)
cell Value in cell
Value in cell
Multidimensional Multidimensional
Trees Table Trees
MultidimensionalTable
Table Trees Value in cell
31
Trees
Spatial fields
• attribute values associated with cells
• cell contains value from continuous
domain
– eg temperature, pressure, wind velocity
• measured or simulated
Networks
Spatial Fields (Continuous) Geometry (Spatial)
ns) Fields (Continuous) Geometry
Grid of positions(Spatial)

Link
Grid of positions Cell
Position
Node
k
Cell (item)
lue Attributes (columns) Position
Node
(item)
Attributes (columns) Value in cell

able Trees
Value in cell

32
Spatial fields
• attribute values associated with
cells
• cell contains value from
continuous domain
– eg temperature, pressure, wind
velocity
• measured or simulated
• beyond the scope of this class
– sampling
where attributes are measured
– interpolation
how to model attributes elsewhere
– grid types
33
Spatial fields
• attribute values associated with scalar
cells
• cell contains value from
continuous domain
– eg temperature, pressure, wind
velocity
• measured or simulated vector
• beyond the scope of this class
– sampling
where attributes are measured
– interpolation
how to model attributes elsewhere tensor
– grid types, tensors
34
Dataset types
Data and Dataset Types
Tables Networks & Fields Geometry Clusters,
Trees Sets, Lists
Items Items (nodes) Grids Items Items
Attributes Links Positions Positions
Dataset TypesAttributes Attributes

Dataset Types
Tables
Dataset Types Dataset Networks
Types Fields (Continuous) Geometry (Spatial)
Dataset
Tables Types
Tables Attributes (columns) Tables
Networks
Networks Networks
Spatial
Fields Grid of positions
(Continuous)
Fields (Continuous) Fields
Geometry
(Continuous)
Geometry (Spatial)
(Spatial)
Tables
Items
Attributes (columns)
Attributes (columns)
Networks Link
Attributes (columns) Fields (Continuous)
CellGrid
Grid of
ofpositions
positions Geometry
Grid of positions(Spatial)
Position
(rows)
Node Link
Items
Items Attributes (columns) Items Link
Link (item) Cell Grid of positions Cell
(rows) Cell containing value(rows) Cell Attributes (columns) Position
(rows) Node Position
Node
Link
Node
Items Cell (item)
(item)
(item)
(rows) Cell containing value Cell containing value Attributes (columns)
Value in cell Attributes (columns) Position
Cell containing value Node Attributes (columns)
Multidimensional Table Trees (item)
Cell containing value Attributes
Value in (columns)
cell Value in cell
Value in cell
Multidimensional Multidimensional
Trees Table Trees
MultidimensionalTable
Table Trees Value in cell
35
Trees
Geometry
• shape of items
• explicit spatial positions
• points, lines, curves, surfaces, regions
– (volumes outside scope of class)
• boundary between computer graphics
and visualization
– graphics: geometry taken as given
– vis: geometry is result of a design decision

36
Dataset types
Data and Dataset Types
Tables Networks & Fields Geometry Clusters,
Trees Sets, Lists
Items Items (nodes) Grids Items Items
Attributes Links Positions Positions
Dataset TypesAttributes Attributes

Dataset Types
Tables
Dataset Types Dataset Networks
Types Fields (Continuous) Geometry (Spatial)
Dataset
Tables Types
Tables Attributes (columns) Tables
Networks
Networks Networks
Spatial
Fields Grid of positions
(Continuous)
Fields (Continuous) Fields
Geometry
(Continuous)
Geometry (Spatial)
(Spatial)
Tables
Items
Attributes (columns)
Attributes (columns)
Networks Link
Attributes (columns) Fields (Continuous)
CellGrid
Grid of
ofpositions
positions Geometry
Grid of positions(Spatial)
Position
(rows)
Node Link
Items
Items Attributes (columns) Items Link
Link (item) Cell Grid of positions Cell
(rows) Cell containing value(rows) Cell Attributes (columns) Position
(rows) Node Position
Node
Link
Node
Items Cell (item)
(item)
(item)
(rows) Cell containing value Cell containing value Attributes (columns)
Value in cell Attributes (columns) Position
Cell containing value Node Attributes (columns)
Multidimensional Table Trees (item)
Cell containing value Attributes
Value in (columns)
cell Value in cell
Value in cell
Multidimensional Multidimensional
Trees Table Trees
MultidimensionalTable
Table Trees Value in cell
37
Trees
Collections
• how we group items
• sets
– unique items, unordered
• lists
– ordered, duplicates possible
• clusters
– groups of similar items

38
Dataset and data types
Data and Dataset Types
Tables Networks & Fields Geometry Clusters,
Trees Sets, Lists
Items Items (nodes) Grids Items Items
Attributes Links Positions Positions
Attributes Attributes

Data Types
Items Attributes Links Positions Grids

39
Attribute types
Attributes
• which classes of values &
measurements? Attribute Types
Categorical Ordered
• categorical (nominal)
Ordinal Quantitative
– compare equality
– no implicit ordering
• ordered
– ordinal Ordering Direction
• less/greater than defined
Sequential Diverging Cyclic
– quantitative
• meaningful magnitude
• arithmetic possible

40
Table

41
categorical
ordinal
quantitative

42
Quiz: What kind of variable?
• 50 meter race times
• college major
• Amazon rating for product
• product name

43
Other data concerns
Attributes

Attribute Types
Categorical Ordered
Ordinal Quantitative

Ordering Direction Dataset Availability

Sequential Diverging Cyclic Static Dynamic

44
Hierarchical data
• multi-level structure
– space
– time
– others

• example: zipdecode

https://benfry.com/zipdecode/ 45
Data abstraction: Three operations
• translate from domain-specific language to generic visualization language

• identify dataset type(s), attribute types


• identify cardinality
– how many items in the dataset?
– what is cardinality of each attribute?
• number of levels for categorical data
• range for quantitative data

• consider whether to transform data


– guided by understanding of task

46
Data vs conceptual models
• data model
– mathematical abstraction
• sets with operations, eg floats with * / - +
• variable data types in programming languages
• conceptual model
– mental construction (semantics)
– supports reasoning
– typically based on understanding of tasks [stay tuned, next week]

• data abstraction process relies on conceptual model


– for transforming data if needed

47
Data vs conceptual model, example
• data model: floats
– 32.52, 54.06, -14.35, ...
• conceptual model
– temperature
• multiple possible data abstractions
– continuous to 2 significant figures: quantitative
• task: forecasting the weather
– hot, warm, cold: ordinal
• task: deciding if bath water is ready
– above freezing, below freezing: categorical
• task: decide if I should leave the house today

48
Derived attributes
• derived attribute: compute from originals
– simple change of type
– acquire additional data
– complex transformation
• more on this next time

exports
imports
trade
balance

trade balance = exports −imports

Original Data Derived Data 49


Data abstraction practice
• 2018 Central Park Squirrel Census

https://
www.thesquirrelcensus.com/

https://
data.cityofnewyork.us/
Environment/2018-Central-
Park-Squirrel-Census-
Squirrel-Data/vfnx-vebw
50
Data Types Attribute Types
What?
Items Attributes Links Positions Grids Categorical
Datasets Attributes
Data and Dataset Types

What? Data Types


Items Attributes Links
Tables
Positions
Networks &
Grids
Trees
Attribute Types
Fields Geometry
Categorical
Clusters,
sets, lists
Ordered
Ordinal
Items Items (nodes) Grids Items Items
Data and Dataset Types Attributes Links Positions Positions

Why? Tables Networks &


Trees
Fields Geometry Clusters,
Sets, Lists
Attributes Attributes
Ordered
Ordinal
Quantitative

Items Items (nodes) Grids Dataset Types


Items Items Ordering Direction
Attributes Links Positions Tables
Positions Networks Fields (Continuous)
How?
Sequential
Attributes Attributes Attributes (columns)
Quantitative Grid of positions

Items Link
Cell
(rows) Diverging
Dataset Types Node

Cell containing value Ordering Direction Attributes (columns)


(item)

Tables Networks Fields (Continuous)


Sequential Value in cell
Cyclic
Attributes (columns) Multidimensional
Grid of positions Table Trees

Items Link
Cell
(rows)
Node
Diverging
(item)
Cell containing value Attributes (columns)
Value in cell

Value in cell

Multidimensional Table Trees


Cyclic
Geometry (Spatial)

Value in cell
Position

Geometry (Spatial) Dataset Availability What?

Static Dynamic Why?


Position
How?
51
Abstraction: Tasks (Why)

52
Nested model: Four levels of visualization design
• domain situation
– who are the target users?
• abstraction domain
– translate from specifics of domain to vocabulary of visualization abstraction
• what is shown? data abstraction
• why is the user looking at it? task abstraction idiom
– often must transform data, guided by task algorithm
• idiom
– how is it shown?
• visual encoding idiom: how to draw
• interaction idiom: how to manipulate [A Nested Model of Visualization Design and Validation.
Munzner. IEEE TVCG 15(6):921-928, 2009

• algorithm (Proc. InfoVis 2009). ]


[A Multi-Level Typology of Abstract Visualization Tasks
– efficient computation Brehmer and Munzner. IEEE TVCG 19(12):2376-2385, 2013 (Proc. InfoVis 2013). ]
53
Domain characterization
• details of an application domain
• group of users, target domain, their questions, & their data
– varies wildly by domain domain

– must be specific enough to get traction


• domain questions/problems
– break down into simpler abstract tasks

54
Design Process
Characterize Domain Situation

Map Domain-Language Map Domain-Language Task


Data Description to to Abstract Task
Data Abstraction

Identify/Create Suitable Idiom/Technique

Identify/Create Suitable Algorithm


55
Example: Find good movies
• identify good movies in genres I like
• domain:
– general population, movie enthusiasts

56
Abstraction: Data & task
• map what and why into generalized terms
– identify tasks that users wish to perform, or already do
– find data types that will support those tasks domain
• possibly transform /derive if need be abstraction

57
Example: Find good movies
• identify good movies in genres I like
• domain:
– general population, movie enthusiasts
• task: what is a good movie for me?
– highly rated by critics?
– highly rated by audiences?
– successful at the box office?
– similar to movies I liked?
– matches specific genres?
• data: (is it available?)
– yes! data sources IMDB, Rotten Tomatoes...
58
Example: Find good movies
• one possible choice for data and tasks, in domain language
– data: combine audience ratings and critic ratings
– task: find high-scoring movies for specific genre
• abstractions?
– attribute: audience & critic ratings
• ordinal
– levels: 3 or 5 or 10...
– attribute: genre one possible idiom
• categorical – stacked bar chart for ratings
– levels: < 20
– items: movies
• items: millions
– task: find high values?
59
Example: Horrified
• same task: high-score movies
• slightly different data
– 14K rated horror movies from IMDB
• very different visual encoding idiom
– circle per item (movie)
– circle area = popularity
– stroke width/opacity = avg rating
– year made = vertical position
• interaction idiom
– lines connect movies w/ same director,
on mouseover
http://alhadaqa.com/2019/10/horrified/ 60
Task abstraction: Actions and targets
• very high-level pattern • {action, target} pairs
–discover distribution
–compare trends
• actions –locate outliers
– analyze –browse topology
• high-level choices
– search
• find a known/unknown item
– query
• find out about characteristics of item

61
Actions
Actions: Analyze
Analyze
• consume ‫ﺗﺳﺗﮭﻠك‬
Consume
– discover vs present
Discover Present Enjoy
• classic split
• aka explore vs explain
– enjoy
• newcomer Produce
• aka casual, social Annotate Record Derive

tag

• produce ‫ﺗﻧﺗﺞ‬
– annotate, record
– derive Search
• crucial design choice
Target known Target unknown

Location 62
Lookup Browse
Derive
• don’t just draw what you’re given!
– decide what the right thing to show is
– create it with a series of transformations from the original dataset
– draw that
• one of the four major strategies for handling complexity

exports
imports
trade
balance

trade balance = exports −imports

Original Data Derived Data 63


Analysis example: Derive one attribute
• Strahler number
– centrality metric for trees/networks
– derived quantitative attribute
– draw top 5K of 500K for good skeleton
[Using Strahler numbers for real time visual exploration of huge graphs. Auber.
Proc. Intl. Conf. Computer Vision and Graphics, pp. 56–69, 2002.]

Task 1 Task 2

.58 .74 .58 .74


.64 .64
.54 .84 .54 .84
.74 .84 .74 .84
.24 .84 .24 .84
.64 .64
.94 .94
In Out In In Out
Tree Quantitative Tree + Quantitative Filtered Tree
attribute on nodes attribute on nodes Removed
unimportant parts
What? Why? What? Why? How?
In Tree Derive In Tree Summarize Reduce
Out Quantitative In Quantitative attribute on nodes Topology Filter
attribute on nodes Out Filtered Tree 64
Means and ends
What?

Why?

How?

What?

Why?

How?

What?

Why?

How?

65
Actions: Search
• what does user know? Search
– target, location Target known Target unknown
• lookup Location
Lookup Browse
known
– ex: word in dictionary
• alphabetical order Location
Locate Explore
unknown
• locate
– ex: keys in your house
– ex: node in network Query

• browse Identify Compare Summarize

– ex: books in bookstore


• explore
https://bl.ocks.org/heybignick/3faf257bbbbc7743bb72310d03b86ee8
– ex: cool neighborhood in
new city 66
Example: Horrified vs stacked bars
• horrified: browse/explore
• stacked bars: locate/lookup

• which is better?
– depends on goals / task
• enjoy, social context, lots of time
• find 2nd-best rated movie of all time
http://alhadaqa.com/2019/10/horrified/
– Jeopardy call, < 10 seconds to respond!

67
Actions: Search, query
Search
• what does user know?
Target known Target unknown
– target, location
Location
Lookup Browse
known
• how much of the data Location
matters? unknown
Locate Explore

– one, some, all


Query
• independent choices Identify Compare Summarize
for each of these three
levels
– analyze, search, query
– mix and match
68
Example: Economics
• task: compare and derive
• data: derive change

The Economist 69
Why? Extremes
Task Search
abstraction: Targets
Targets
Target known Target unknown
All Data Location
known
Lookup Browse Network Data
Trends Outliers
Location Features
Locate Explore Topology
unknown

Query Paths
Attributes Identify Compare Summarize
One Many
Distribution Dependency Correlation Similarity Spatial Data
Shape
Extremes

Network Data 70
Abstraction
• these {action, target} pairs are good starting point for vocabulary
– but sometimes you'll need more precision!
• rule of thumb
– systematically remove all domain jargon

• interplay: task and data abstraction


– need to use data abstraction within task abstraction
• to specify your targets!
• but task abstraction can lead you to transform the data
– iterate back and forth
• first pass data, first pass task, second pass data, ...

71
Examples: Job market
• trends
– how did job market develop
since recession overall?
• outliers
– real estate related jobs

https://www.nytimes.com/interactive/2014/06/05/upshot/how-the-recession-reshaped-the-economy-in-255-charts.html 72
Example: Task abstraction in genomics
You have been approached by a geneticists to help with a visualization
problem. She has gene expression data (data that measures the activity of
the genes) for 30 cancer tissue samples. She is applying an experimental
drug to see whether the cancer tissue dies as she hopes, but she finds
that only some samples show the desired effect. She believes that the
difference between the samples is caused by differential expression
(different activity) of genes in a particular pathway, i.e., an interaction
network of genes. She would like to understand which genes are likely to
cause the difference, and what role they play in that pathway.

73
Annotate Record Derive
Example: Task abstraction
Annotate in genomics
Record
tag
Derive

• ... only some samples show


tagthe desired effect
– derive two groups of samples
Search

Target known Target unknown


• ... the difference between the samples is caused by differential expression
Location
(different activity) of genes in known a particular
Why?pathway.
Lookup
She would like
Browse
to
understand Search
which genesActions
are likely to cause the
Location difference
Locate Targets
Explore
unknown
– identify those genes
– compareAnalyze Target
gene expression of knowngenes All
pathway Data Target
between twounknown
groups
Consume Query Trends Outliers Feature
– identify the outliers
Location
Discover Present Enjoy Identify Compare Summarize
Lookup Browse
known
Attributes
Location
Produce
Annotate Record Derive Locate One Explore
Many 74
Analyze All Data
Example: TaskConsume
abstraction in genomics Trends
tag
Outliers Features
Discover Present Enjoy
• ... which genes are likely to cause the difference, and
what role they play in that pathway. Search
Attributes
Produce Target known
One Many
– locate the outlier
Annotate inRecord
the network
Derive
Location
tag Distribution Dependency
Lookup Correl
known

Location
Extremes Locate
Search unknown

Target known Target unknown


Location
– explore the
knowntopology Lookup Browse Network Data
Query
Location Locate Explore Topology
Identify Compare
unknown

Query Paths
Identify Compare Summarize 75
Why?
Actions Targets

Analyze All Data


Consume Trends Outliers Features
Discover Present Enjoy

Attributes
Produce
Annotate Record Derive One Many
tag Distribution Dependency Correlation Similarity

Extremes
Search
Target known
• {action, target} pairs Location
Target unknown

Lookup Browse Network Data


–discover distribution known
Location Locate Explore Topology
–compare trends unknown

–locate outliers Query Paths


–browse topology Identify Compare Summarize
What?
Spatial Data
Why?
Shape
How? 76
Credits
• Visualization Analysis and Design (Ch 1, 2, 3, 4)
• Alex Lex & Miriah Meyer, http://dataviscourse.net/

77
Assignments
• Programming 0
• Foundations 1

78

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy