valuetmm/courses/533-11/slides/toolkits-4x4.pdfne-grained building blocks for tailored...

2
Lecture 12: Toolkits Information Visualization CPSC 533C, Fall 2011 Tamara Munzner UBC Computer Science Wed, 19 October 2011 1 / 24 Required Readings Prefuse: A Toolkit for Interactive Information Visualization. Jeffrey Heer, Stuart K. Card, James Landay. Proc ACM CHI, 421-430, 2005. Protovis: A Graphical Toolkit for Visualization. Michael Bostock and Jeffrey Heer. IEEE Trans. Visualization & Computer Graphics (Proc. InfoVis), 2009. D3: Data-Driven Documents. Michael Bostock, Vadim Ogievetsky, Jeffrey Heer. IEEE Trans. Visualization & Computer Graphics (Proc. InfoVis), 2011. 2 / 24 Further Reading Readings in Information Visualization: Using Vision To Think, Chapter 1. Stuart K. Card, Jock Mackinlay, and Ben Shneiderman. Morgan Kaufmann, 1999. A Taxonomy of Visualization Techniques using the Data State Reference Model. Ed H. Chi. Proc. InfoVis 2000. Wrangler: Interactive Visual Specification of Data Transformation Scripts. Sean Kandel, Andreas Paepcke, Joseph Hellerstein, Jeffrey Heer. Proc. CHI 2011. 3 / 24 Toolkits imperative: how low-level rendering: Processing, OpenGL parameterized visual objects: prefuse also flare: prefuse for Flash declarative: what Protovis, D3, ggplot2 separation of specification from execution considerations expressiveness can I build it? efficiency how long will it take? accessibility do I know how? 4 / 24 OpenGL graphics library pros power and flexibility, complete control for graphics hardware acceleration many language bindings: C, C++, Java (w/ JOGL) cons big learning curve if you don’t know already no vis support, must roll your own everything example app: TreeJuxtaposer [Fig 5. Munzner et al. TreeJuxtaposer: Scalable Tree Comparison using Focus+Context with Guaranteed Visibility. Proc SIGGRAPH 2003, pp 453-462.] 5 / 24 Processing layer on top of Java/OpenGL visualization esp. for artists/designers pros great sandbox for rapid prototyping huge user community, great documentation cons poor widget library support example app: MizBee [Fig 1. Meyer et al. MizBee: A Multiscale Synteny Browser. Proc. InfoVis 2009.] 6 / 24 prefuse infovis toolkit, in Java fine-grained building blocks for tailored visualizations pros heavily used very powerful abstractions quickly implement most techniques covered so far! cons no longer under active development nontrivial learning curve example app: DOITrees Revisited [Fig 3. Heer, Card, and Landay. Prefuse: A Toolkit for Interactive Information Visualization. Proc. CHI 2005, 421-430] 7 / 24 Prefuse separation: abstract data, visual form, view data: tables, networks (nodes, edges) visual form: layout, color, size, ... view: multiple renderers [Fig 2. Heer, Card, and Landay. Prefuse: A Toolkit for Interactive Information Visualization. Proc. CHI 2005, 421-430] 8 / 24 InfoVis Reference Model conceptual model underneath prefuse design heavily influenced much of infovis (incl nested model) aka infovis pipeline, data state model [Chi99] [Redrawn Fig 1.23. Card, Mackinlay, and Shneiderman. Readings in Information Visualization: Using Vision To Think, Chapter 1. Morgan Kaufmann, 1999.] 9 / 24 Data State Model Value Analytical Abstraction Visualization Abstraction View Data Transformation Visualization Transformation Visual Mapping Transformation w eb page collection create web page linkdage breadth f irs t traversal graph hierarchy visualization Disk Tree Cone Tree Filter Value depth first traversal Disk Tree rotate f oc us [Fig 2. Chi. A Taxonomy of Visualization Techniques using the Data State Reference Model. Proc. InfoVis 2000.] 10 / 24 Prefuse Design Implications separating abstraction, visual form, view supports linked multiple views supports novel visual encoding design actions: operator composition supports distortion: layout modification supports animated transitions multiple renderers supports semantic zooming many/most common methods well supported abstractions map well to infovis concerns nevertheless takes time to wrap head around it good choice for local app 11 / 24 Prefuse Validation wide set of old/new app examples expressiveness, effectiveness, scalability qualitative usability for system API nice methodology! vs for specific application 12 / 24 Declarative Toolkits imperative: toolkits/libraries discussed so far say exactly how to do it familiar programming model declarative: other possibility just say what to do Protovis, D3 13 / 24 Protovis declarative infovis toolkit, in Javascript (also later Java version) marks with inherited properties pros runs in browser matches mark/channel mental model also much more: interaction, geospatial, trees, ... cons not all kinds of operations supported example app: NapkinVis (2009 course project) [Fig 1, 3. Chao. NapkinVis. http://www.cs.ubc.ca/tmm/courses/533-09/projects.html#will] 14 / 24 Protovis Validation wide set of old/new app examples expressiveness, effectiveness, scalability accessibility analysis with cognitive dimensions of notation closeness of mapping, hidden dependencies, role-expressiveness, visibility, consistency, viscosity, diffuseness, abstraction, hard mental operations 15 / 24 D3 declarative infovis toolkit, in Javascript Protovis meets Document Object Model / CSS pros seamless interoperability with Web explicit transforms of scene with dependency info cons even more different from traditional programming model example app: calendar (gallery of many) [Fig 1a. Bostock, Oglievestky, and Heer. D3: Data-Driven Documents. Proc InfoVis 2011.] 16 / 24

Upload: others

Post on 11-Jul-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VALUEtmm/courses/533-11/slides/toolkits-4x4.pdfne-grained building blocks for tailored visualizations pros heavily used very powerful abstractions quickly implement most techniques

Lecture 12: ToolkitsInformation VisualizationCPSC 533C, Fall 2011

Tamara Munzner

UBC Computer Science

Wed, 19 October 2011

1 / 24

Required Readings

Prefuse: A Toolkit for Interactive Information Visualization. JeffreyHeer, Stuart K. Card, James Landay. Proc ACM CHI, 421-430,2005.

Protovis: A Graphical Toolkit for Visualization. Michael Bostockand Jeffrey Heer. IEEE Trans. Visualization & Computer Graphics(Proc. InfoVis), 2009.

D3: Data-Driven Documents. Michael Bostock, Vadim Ogievetsky,

Jeffrey Heer. IEEE Trans. Visualization & Computer Graphics

(Proc. InfoVis), 2011.

2 / 24

Further Reading

Readings in Information Visualization: Using Vision To Think,Chapter 1. Stuart K. Card, Jock Mackinlay, and Ben Shneiderman.Morgan Kaufmann, 1999.

A Taxonomy of Visualization Techniques using the Data StateReference Model. Ed H. Chi. Proc. InfoVis 2000.

Wrangler: Interactive Visual Specification of Data TransformationScripts. Sean Kandel, Andreas Paepcke, Joseph Hellerstein, JeffreyHeer. Proc. CHI 2011.

3 / 24

Toolkits

imperative: how

low-level rendering: Processing, OpenGLparameterized visual objects: prefuse

also flare: prefuse for Flash

declarative: what

Protovis, D3, ggplot2separation of specification from execution

considerationsexpressiveness

can I build it?

efficiencyhow long will it take?

accessibilitydo I know how?

4 / 24

OpenGL

graphics librarypros

power and flexibility, complete control for graphicshardware accelerationmany language bindings: C, C++, Java (w/ JOGL)

consbig learning curve if you don’t know alreadyno vis support, must roll your own everything

example app: TreeJuxtaposer

[Fig 5. Munzner et al. TreeJuxtaposer: Scalable Tree Comparison usingFocus+Context with Guaranteed Visibility. Proc SIGGRAPH 2003, pp 453-462.] 5 / 24

Processing

layer on top of Java/OpenGLvisualization esp. for artists/designerspros

great sandbox for rapid prototypinghuge user community, great documentation

conspoor widget library support

example app: MizBeechrI

chrII

chrIII

chrIV

chrIX

chrV

chrVI

chrVII

chrVIII

chrX

chrXIchrXII

chrXIII

chrXIV

chrXIX

chrXV

chrXVI

chrXVII

chrXVIII

chrXX

chrXXI

chrUn

chrI

chr1

chr2

chr3

chr4

chr5

chr6

chr7

chr8chr9

chr10

chr11

chr12

chr13

chr14

chr15

chr16

chr17

chr18

chr19chr20chr21

saturationline

- +

10Mb

chrI

go to:

chrI chr10

7,522,019 10,194,592

7,552,761 10,162,878

orientation:match

inversion

invert

out i n

[Fig 1. Meyer et al. MizBee: A Multiscale Synteny Browser. Proc. InfoVis 2009.]6 / 24

prefuse

infovis toolkit, in Javafine-grained building blocks for tailored visualizationspros

heavily usedvery powerful abstractionsquickly implement most techniques covered so far!

consno longer under active developmentnontrivial learning curve

example app: DOITrees Revisited

[Fig 3. Heer, Card, and Landay. Prefuse: A Toolkit for Interactive Information

Visualization. Proc. CHI 2005, 421-430]7 / 24

Prefuse

separation: abstract data, visual form, view

data: tables, networks (nodes, edges)visual form: layout, color, size, ...view: multiple renderers

[Fig 2. Heer, Card, and Landay. Prefuse: A Toolkit for Interactive Information

Visualization. Proc. CHI 2005, 421-430]

8 / 24

InfoVis Reference Model

conceptual model underneath prefuse design

heavily influenced much of infovis (incl nested model)

aka infovis pipeline, data state model [Chi99]

[Redrawn Fig 1.23. Card, Mackinlay, and Shneiderman. Readings in InformationVisualization: Using Vision To Think, Chapter 1. Morgan Kaufmann, 1999.]

9 / 24

Data State Model

Stage Description

Value The raw data.

Analytical

Abstraction

Data about data, or information, a.k.a.

meta-data.

Visualization

Abstraction

Information that is visualizable on the

screen using a visualization

technique.

View The end-product of the visualization

mapping, where the user sees and

interprets the picture presented to her.

Table 1: Data Stages in the Data State Model

Processing Step Description

Data

Transformation

Generates some form of analytical

abstraction from the value (usually

by extraction).

Visualization

Transformation

Takes an analytical abstraction and

further reduces it into some form of

visualization abstraction, which is

visualizable content.

Visual Mapping

Transformation

Takes information that is in a

visualizable format and presents a

graphical view.

Table 2: Transformation Operators

Within each Data Stage, there are also operators

that do not change the underlying data structures.

These are the Within Stage Operators, of which there

are four types, corresponding to the four Data Stages:

Within Value, Within Analytical Abstraction, Within

Visualization Abstraction, and Within View.

Figure 2 shows an example of the Data State Model

applied to the problem of visualizing the connections

between a set of Web pages. This example shows

that: (1) some operators create new kinds of data sets,

whereas some operators create filtered subsets, which

is the difference between Transformation and Within

Stage operators, and (2) that the same Visualization

Abstractions can be mapped using a variety of Visual

Mapping Transformation operators. For example,

Disk Trees or Cone Trees can both be applied to a

hierarchy of interconnected nodes.

4. TAXONOMY

By isolating dependencies, we can more easily

reuse different parts of the pipeline to construct new

information visualizations. Therefore, we have taken

this model and used it to taxonomize various

visualization techniques. The idea is to analyze the

various techniques, thus increasing our knowledge of

how each technique can be built using various

operators. In the following, we used this model to

analyze some 36 visualization techniques.

With a clearer understanding of the interactions

between the data and the operators, implementers

will be more equipped to construct new interactions

or new visualizations. In practice, these analysis

techniques have been applied in a system called the

Visualization Spreadsheet [Chi97, Chi99] and have

enabled reuse and rapid development.

The following table presents the taxonomy using

the Data State Model. A row represents a single

visualization technique or system. The cells in that

row describe the operators that comprises that

technique. Non-italic items refer to the operators,

while Italic items refer to example data sets within

that Data Stage. The columns are the seven types of

operators described in Figure 1: within and non-

within stage operators.

In certain cases below, cells marked with ! have no

corresponding Abstractions or Operators at that stage,

because the data is already in a visualizable format.

Va lu e

An a lytica l Ab s tra ctio n

Vis u a liza tio n Ab s tra ctio n

Vie w

D a ta Tra ns fo rm a tio n

Vis u a liza tio n Tra ns fo rm a tio n

Vis u a l Ma p p in g

Tra ns fo rm a tio n

w eb page c ollec tion

c reate w eb page linkdage

breadth f irs t trav ers al

graph

hierarc hy

v is ualiz ation

Dis k Tree

Cone Tree

Filter V alue

depth f irs t trav ers al

Dis k Tree

rotate f oc us

Figure 2: Data State Model applied to Web sites

V AL U E

A N A L YT IC AL AB S TR ACT IO N

V IS U A L IZAT IO N AB S TR ACT IO N

V IE W

D A T A T R AN S F O R M AT IO N

V IS U AL IZAT IO N T R AN S F O R M AT IO N

V IS U AL M A P P IN G T R AN S F O R M AT IO N

V AL U E S T AG E

O P E R AT O R

AN AL YT IC AL S T AG E

O P E R AT OR

V IS U AL IZA T IO N S T AG E

O P E R AT OR

V IE W S T AG E O P E R AT O R

Figure 1: Information Visualization DataState Reference Model

[Fig 2. Chi. A Taxonomy of Visualization Techniques using the Data State ReferenceModel. Proc. InfoVis 2000.] 10 / 24

Prefuse Design Implications

separating abstraction, visual form, view

supports linked multiple viewssupports novel visual encoding design

actions: operator composition

supports distortion: layout modificationsupports animated transitions

multiple renderers

supports semantic zooming

many/most common methods well supported

abstractions map well to infovis concernsnevertheless takes time to wrap head around itgood choice for local app

11 / 24

Prefuse Validation

wide set of old/new app examples

expressiveness, effectiveness, scalability

qualitative usability for system API

nice methodology!vs for specific application

12 / 24

Declarative Toolkits

imperative: toolkits/libraries discussed so far

say exactly how to do itfamiliar programming model

declarative: other possibility

just say what to doProtovis, D3

13 / 24

Protovis

declarative infovis toolkit, in Javascript(also later Java version)

marks with inherited propertiespros

runs in browsermatches mark/channel mental modelalso much more: interaction, geospatial, trees, ...

consnot all kinds of operations supported

example app: NapkinVis (2009 course project)

[Fig 1, 3. Chao. NapkinVis.http://www.cs.ubc.ca/∼tmm/courses/533-09/projects.html#will]

14 / 24

Protovis Validation

wide set of old/new app examples

expressiveness, effectiveness, scalabilityaccessibility

analysis with cognitive dimensions of notation

closeness of mapping, hidden dependencies,role-expressiveness, visibility, consistency,viscosity, diffuseness, abstraction,hard mental operations

15 / 24

D3

declarative infovis toolkit, in Javascript

Protovis meets Document Object Model / CSSpros

seamless interoperability with Webexplicit transforms of scene with dependency info

conseven more different from traditional programming model

example app: calendar (gallery of many)

[Fig 1a. Bostock, Oglievestky, and Heer. D3: Data-Driven Documents. Proc InfoVis2011.]

16 / 24

Page 2: VALUEtmm/courses/533-11/slides/toolkits-4x4.pdfne-grained building blocks for tailored visualizations pros heavily used very powerful abstractions quickly implement most techniques

D3 Validation

wide set of old/new app examples

software performance

initialization, frame rates

17 / 24

Paper Types

design studies

technique/algorithm

evaluation

model/taxonomy

system

today’s emphasis

18 / 24

ggplot2

declarative statistical graphics in R

implementation of Wilkinson’s Grammar of Graphics

qplot(date, value, data = clusterm, group = id, geom = "line", facets = cluster ~ variable, colour = factor(cluster)) + scale_y_continuous("", breaks=NA) + scale_colour_brewer(palette="Spectral")

ggplot(clustered, aes(x = long, y = lat)) + geom_tile(aes(width = 2.5, height = 2.5, fill = factor(cluster))) + facet_grid(cluster ~ .) + map + scale_fill_brewer(palette="Spectral")

[Slide 17. Wickham. ggplot2: past, present, and future.http://had.co.nz/ggplot2/resources/2007-past-present-future.pdf]

19 / 24

Wrangler

interactive data cleaning

inference engine: system suggests applicable transforms

programming by demonstration (vs complex regexps)

declarative transformation language underlying

http://vis.stanford.edu/wrangler/

20 / 24

Systems

Tableau: general/powerful database vis

Mondrian: statistical graphics

ggobi: high-dimensional analysis

load data directly, as opposed to build with toolkit

21 / 24

Resource Page: Software

http://www.cs.ubc.ca/ tmm/courses/533-11/resources.html

22 / 24

Reading For Next Time

Mon Oct 31: no class next week!

Graph Visualisation in Information Visualisation: a Survey. IvanHerman, Guy Melancon, M. Scott Marshall. IEEE Transactions onVisualization and Computer Graphics, 6(1), pp. 24-44, 2000

Topological Fisheye Views for Visualizing Large Graphs. EmdenGansner, Yehuda Koren and Stephen North, IEEE TVCG11(4):457-468 (Proc. InfoVis 2005), 2005.

Online Dynamic Graph Drawing. Yaniv Frishman and Ayellet Tal.Proc EuroVis 2007, 75-82.

23 / 24

Reminders

this Friday: presentation topics due

next Friday: written project proposals due

next week: no class

24 / 24