Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John...
Transcript of Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John...
2
Table of ContentsData visualization: what for?The human perceptionInformation visualizationTo see and to listenReferencesThank you!
3 . 1
Data visualization: what for?
4 . 1
Problem statementWe want to represent information in a graphical way to gain a better understanding of it.
Technology gives us ways to enhance the representation.
Do you think nothing happened before computers?
5 . 1
Data visualization, formallyMapping from data domain to graphics domain
It is OK and even needed to lose some information
6 . 1
Information visualizationAbstract data is to be represented in a visual form
That kind of data is mostly represented "in a weird way", so have to think of a way to represent it in a sensible way
Use cases: statistics and it's relatives
7 . 1
Information visualization: Newcomb fraternityActually a visualization of a friendship graph
17 men, 15 weekly ratings
Evolution of rank is shown by length, balance is shown by angle
Diagonal shows the average deviation of nominations from expected value
8 . 1
Scientific visualizationWe know the representation of the data, let's draw it!
Use cases: anything to do with STEM, mostly 3D representations
Scientific visualization: human skull
9 . 1
10 . 1
Scientific visualization: a 3D contour plot with heatmaps
11 . 1
Technical visualizationOne of the areas of domain-specific visualization
2D for technical drawings
3D for design, modeling, simulation
Use cases: Computer Aided Design, Computer Aided Manufacturing
12 . 1
Technical visualization: a simulation of turning
13 . 1
The human perception
14 . 1
ColorRGB is for computers and CMYK for printers
Human beings have eyes: different color schemes have been thought about that, such as HSL, HSV and HSI
15 . 1
From RGB to HSVV = m a x ( R , G , B )D = V – m i n ( R , G , B )S = D / Vi f V = = R : H = ( G - B ) / De l i f V = = G : H = ( B - R ) / De l s e : H = ( R - G ) / DH = ( 6 0 * H ) m o d 3 6 0
Value - distance from black
Saturation - distance from gray
Hue - angle around the color wheel
16 . 1
Hue circle
18 . 1
Size and scaleUse the context to help deliver perception about size and scale
19 . 1
Comparison of other methodsFrom most accurate to least accurate:
20 . 1
The mapping of methods, Tableau/Polaris systemFour visual channels with regards to data type:
21 . 1
PerspectiveUsing anything 3D must be really thought about
Our perception of distance influences our perception of size of the object
22 . 1
MemoryAvoid animation: it is hard to remember things
Just draw multiple plots
23 . 1
Seeing changeTo see an object change, it is necessary to attend to it. (Rensink)
24 . 1
Seeing change: flicker
25 . 1
Seeing change: frame A
26 . 1
Seeing change: frame B
27 . 1
Tufte's principlesRedacted and simplified:
tell the truthdata is the most importantuse minimal inkgraphical effects are not requireduse sparklines
28 . 1
Shneiderman's Visual Information Seeking MantraOverview first, zoom and filter, then details-on-demand
29 . 1
Information visualization
Isarithmic mapVery easy to misuse
Think about your data: continuous values vs discrete points
Interpolation for continuous values, kernel density for discrete points
30 . 1
31 . 1
Heat mapInterpolate colors according to matrix values
Perform clustering
Perform seriation
32 . 1
Contour plotCan be both in 2D and 3D
Also known as isolines, isopleths, isochrones, isarithms, isodistances, etc - depending on the domain and type of the map
Usually known from geography and meteorology, but useful everywhere in the natural sciences
33 . 1
The CONREC algorithmInput: contouring levels, samples of the surface, horizontal and vertical coordinates of each sample point
Output: horizontal and vertical coordinates of line segments with contour level
1. Consider a rectangle 2. Assign a value to the center of the rectangle3. Cut along the diagonals to get 4 triangles4. Bisect the triangles with the contour plane5. Consider the possible cases
d(i, j), d(i + 1, j), d(i, j + 1), d(i + 1, j + 1)
34 . 1
CONREC: possible casesa) All the vertices lie below the contour level.
b) Two vertices lie below and one on the contour level.
c) Two vertices lie below and one above the contour level.
d) One vertex lies below and two on the contour level.
e) One vertex lies below, one on and one above the contour level.
f) One vertex lies below and two above the contour level.
g) Three vertices lie on the contour level.
h) Two vertices lie on and one above the contour level.
i) One vertex lies on and two above the contour level.
j) All the vertices lie above the contour level.
35 . 1
CONREC: cases visually
36 . 1
CONREC: in progress
37 . 1
CONREC: landscape example
38 . 1
Stacked graphsUsed for visualizing time series
39 . 1
Usual stacked graphThe general formula for a layer is = +gi g0 Σi
j=1fj
Baseline is set at 0: = 0g0
40 . 1
ThemeRiver optimizationTry to use a layout symmetric around the -axisx
+ = 0g0 gn
2 + = 0g0 Σni=1fi
= −g012 Σn
i=1fi
Minimizes sum of squares of top and bottom silhouette, sum of squares of slopes of and at each pointg0 gn
41 . 1
Streamgraph ordering1. total weight of each series 2. in case of , add to bottom, else add next series to top
wi i( +. . . + ) > ( +. . . + )wi wn/2 wn/2+1 wn
42 . 1
Graph embeddingWagner's theorem: a graph is planar iff it's minors do not include or G G K5 K3,3
A graph minor is obtained when deleting edges, vertices or by edge contraction: remove an edge and merge the twovertices
43 . 1
Tutte embeddingInput: graph G
1. find the boundary nodes and assign them 2D positions2. create the Laplacian matrix , where for edge between node and node
3. zero out rows for already used nodes4. 5. Solve for coordinates: 6. Solve for coordinates:
L =Lij1
deg(i) i j
A = I − Lx Ax = bx
y Ax = by
Actually can be solved other way also: do step 1 and iteratively average positions for the rest of the nodes
44 . 1
When Tutte failsTutte embedding does not work for nodes> 100
Tutte embedding can sometimes look not nice enough:
Alternative: force-directed graph drawing
45 . 1
Alternative: force-directed graph drawingThen force-directed graph drawing is used, where center of the graph has a gravitational pull and nodes exert force on each
other: they have "springs" or energy between them
46 . 1
Multidimensional scalingA set of input points and a distance matrix with n , . . . ,x1 xn M n × n
= dist( , ), i, j = 1, . . . , nMi,j xi xj
Claimed: distance is not actually required to be a metric
After that, use your favorite optimization method to minimize for:
(||( , ) − ( , )|| −Σj=1..n−1Σi=i+1..j xi yi xj yj dij)2
47 . 1
Multidimensional scaling: flattening meshes
48 . 1
Parallel coordinatesFor plotting multivariate data
Basically, parallel axes are placed on the Cartesian coordinate system
49 . 1
Parallel coordinates: exampleDiscrete parallel coordinates for hurricane Isabel at 50x50x10 spatial resolution
50 . 1
Scattering points in parallel coordinatesCan be integrated with scatter plots
51 . 1
Line integral convolutionUsed for modeling a vector field or for motion blur
Input: an image, a vector field
Output: convolution of the intensity values over the integral curves of the vector field
Vector field - each point is assigned a vector
Integral curve - how much does the vector field affect the particle?
Convolution - pick a suitable kernel
52 . 1
To see and to listenB. Shneiderman. The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations
Edward Tufte, The Visual Display of Quantitative Information
Tamara Munzner: Keynote on Visualization Principles (available at Vimeo)
Raymond C. H. Lo, William C. Y. Lo. OpenGL Data Visualization Cookbook
53 . 1
ReferencesJohn C. Hart. Data Visualization. Coursera.
Christopher G. Healey. Perception in Visualization.
Ricardo David Castaneda Marin. Using Line Integral Convolution to Render Effects on Images
Roberto Tamassia. Handbook of Graph Drawing and Visualization
Lee Byron & Martin Wattenberg. Stacked Graphs – Geometry & Aesthetics
54 . 1
Thank you!