valuetmm/courses/533-11/slides/toolkits-4x4.pdfne-grained building blocks for tailored...
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](https://reader035.vdocuments.us/reader035/viewer/2022071512/613285d1dfd10f4dd73a814d/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022071512/613285d1dfd10f4dd73a814d/html5/thumbnails/2.jpg)
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