Professional Documents
Culture Documents
Lecture 4
Lecture 4
DATA VISUALIZATION
❑ Formal specification
❑ Data model: relational data; N,O,Q types
❑ Image model: visual encoding channels
❑ Encodings map data to visual variables
❑ Expressiveness
A set of facts is expressible in a visual language if the sentences (i.e.
the visualizations) in the language express all the facts in the set of
data, and only the facts in the data.
❑ Effectiveness
A visualization is more effective than another visualization if the
information conveyed by one visualization is more readily perceived
than the information in the other visualization.
In A Nutshell
($11,014)
-$4,200,000
[Day Mines, Inc., 1974 Annual Report]
Graphics Integrity
● Perceived Area
○ grows more slowly than measured area
○ varies between people
○ changes with experience
○ changes with context
○ changes with loading
Graphics Integrity
● Guidelines:
○ The measurement of the graphic should be in proportion to the quantity
○ Clear, detailed labels should explain distortion and events, on the graphic.
5.3 – 0.6
0.6
=
27.5 – 18
18
= 14.8
[New York Times, 8/9/78]
Graphics Integrity
[NSF, 1974]
Graphics Integrity
[NSF, 1974]
Graphics Integrity
Design variation:
● Lie Factor = 15.1
[New York Times, 19/12/78]
Graphics Integrity
• 454% in data
• 4280% in graphic
Design variation:
● Lie Factor = 9.4
• 708% in data
• 6700% in graphic
Design variation:
● Lie Factor = 9.5
Graphics Integrity
Good example:
adjusted dollar amounts
for inflation
Graphics Integrity
Good example:
adjusted dollar amounts
for inflation
Graphics Integrity
Good example:
adjusted dollar amounts
for inflation
Graphics Integrity
Bad example
Graphics Integrity
● Done well
● Adjusted for inflation
● Adjusted for population
● No chart junk
Graphics Integrity
https://ilyabirman.net/meanwhile/all/tufte-mystery/
Multi-functioning Elements
❑ Chernoff Faces
❑ Show a bunch of variables
at once via facial features
like lips, eyes, and nose
size.
https://flowingdata.com/2010/08/31/how-to-visualize-data-with-cartoonish-faces/
Multi-functioning Elements
❑ Chernoff Faces
❑ Chernoff faces for lawyers'
ratings of twelve judges
https://en.wikipedia.org/wiki/Chernoff_face
Multi-functioning Elements
❑ Coordinate labels as Marks
Component Architectures
Prefuse, Flare, Improvise, VTK
Graphics / Visualization APIs
OpenGL, Java2D, Python, R
Visualization Tool Stack
Charting Tools
Excel, Many Eyes, Google Charts
Interactive Data Exploration
Tableau, Qlik, Lyra, Polestar, Voyager
Component Architectures
Prefuse, Flare, Improvise, VTK
Graphics / Visualization APIs
OpenGL, Java2D, Python, R
Visualization Tool Stack
Charting Tools
Excel, Many Eyes, Google Charts Charting Tools /
Interactive Data Exploration Graphical Interfaces
Tableau, Qlik, Lyra, Polestar, Voyager
Component Architectures
Prefuse, Flare, Improvise, VTK
Graphics / Visualization APIs Programming
OpenGL, Java2D, Python, R Toolkits
Visualization Tool Stack
Charting Tools
Excel, Many Eyes, Google Charts Charting Tools /
Interactive Data Exploration Graphical Interfaces
Tableau, Qlik, Lyra, Polestar, Voyager
Component Architectures
Prefuse, Flare, Improvise, VTK
Graphics / Visualization APIs Programming
OpenGL, Java2D, Python, R Toolkits
Visualization Tool Stack
Charting Tools
Excel, Many Eyes, Google Charts Charting Tools /
Interactive Data Exploration Graphical Interfaces
Tableau, Qlik, Lyra, Polestar, Voyager
Component Architectures
Prefuse, Flare, Improvise, VTK
Graphics / Visualization APIs Programming
OpenGL, Java2D, Python, R Toolkits
Visualization Tool Stack
Charting Tools
Excel, Many Eyes, Google Charts Charting Tools /
Interactive Data Exploration Graphical Interfaces
Tableau, Qlik, Lyra, Polestar, Voyager
Component Architectures
Prefuse, Flare, Improvise, VTK
Graphics / Visualization APIs Programming
OpenGL, Java2D, Python, R Toolkits
Visualization Tool Stack
Charting Tools
Excel, Many Eyes, Google Charts Charting Tools /
Interactive Data Exploration Graphical Interfaces
Tableau, Qlik, Lyra, Polestar, Voyager
Component Architectures
Prefuse, Flare, Improvise, VTK
Graphics / Visualization APIs Programming
OpenGL, Java2D, Python, R Toolkits
Visualization Tool Stack
Charting Tools
Excel, Many Eyes, Google Charts Charting Tools /
Interactive Data Exploration Graphical Interfaces
Tableau, Qlik, PowerBI, Lyra, Voyager
Component Architectures
Prefuse, Flare, Improvise, VTK
Graphics / Visualization APIs Programming
OpenGL, Java2D, Python, R Toolkits
Why Declarative Languages?
❑ Programming by describing what, not how
❑ Separate specification (what you want) from execution (how
it should be computed)
❑ In contrast to imperative programming, where you must give
explicit steps.
d3.selectAll("rect")
.data(my_data)
.enter().append("rect")
.attr("x", function(d) { return xscale(d.foo); })
.attr("y", function(d) { return yscale(d.bar); })
Why Declarative Languages?