Data Visualization A talk for Computer Graphics Seminar Lauri Listak lauri@listak.net 1
Table of Contents Data visualization: what for? The human perception Information visualization To see and to listen References Thank you! 2
Data visualization: what for? 3 . 1
Problem statement We 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? 4 . 1
Data visualization, formally Mapping from data domain to graphics domain It is OK and even needed to lose some information 5 . 1
Information visualization Abstract 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 6 . 1
Information visualization: Newcomb fraternity Actually 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 7 . 1
Scientific visualization We know the representation of the data, let's draw it! Use cases: anything to do with STEM, mostly 3D representations 8 . 1
Scientific visualization: human skull
9 . 1
Scientific visualization: a 3D contour plot with heatmaps 10 . 1
Technical visualization One of the areas of domain-specific visualization 2D for technical drawings 3D for design, modeling, simulation Use cases: Computer Aided Design, Computer Aided Manufacturing 11 . 1
Technical visualization: a simulation of turning 12 . 1
The human perception 13 . 1
Color RGB 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 14 . 1
From RGB to HSV V = max(R,G,B) D = V – min(R,G,B) S = D/V if V == R: H = (G-B)/D elif V == G: H = (B-R)/D else: H = (R-G)/D H = (60*H) mod 360 Value - distance from black Saturation - distance from gray Hue - angle around the color wheel 15 . 1
Hue circle 16 . 1
Choosing a color scheme: colorbrewer http://colorbrewer2.org/ 17 . 1
Size and scale Use the context to help deliver perception about size and scale 18 . 1
Comparison of other methods From most accurate to least accurate: 19 . 1
The mapping of methods, Tableau/Polaris system Four visual channels with regards to data type: 20 . 1
Perspective Using anything 3D must be really thought about Our perception of distance influences our perception of size of the object 21 . 1
Memory Avoid animation: it is hard to remember things Just draw multiple plots 22 . 1
Seeing change To see an object change, it is necessary to attend to it. (Rensink) 23 . 1
Seeing change: flicker 24 . 1
Seeing change: frame A 25 . 1
Seeing change: frame B 26 . 1
Tufte's principles Redacted and simplified: tell the truth data is the most important use minimal ink graphical effects are not required use sparklines 27 . 1
Shneiderman's Visual Information Seeking Mantra Overview first, zoom and filter, then details-on-demand 28 . 1
Information visualization 29 . 1
Isarithmic map Very easy to misuse Think about your data: continuous values vs discrete points Interpolation for continuous values, kernel density for discrete points
30 . 1
Heat map Interpolate colors according to matrix values Perform clustering Perform seriation 31 . 1
Contour plot Can 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 32 . 1
The CONREC algorithm Input: 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 d ( i , j ), d ( i + 1, j ), d ( i , j + 1), d ( i + 1, j + 1) 2. Assign a value to the center of the rectangle 3. Cut along the diagonals to get 4 triangles 4. Bisect the triangles with the contour plane 5. Consider the possible cases 33 . 1
CONREC: possible cases a) 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. 34 . 1
CONREC: cases visually 35 . 1
CONREC: in progress 36 . 1
CONREC: landscape example 37 . 1
Stacked graphs Used for visualizing time series 38 . 1
Usual stacked graph The general formula for a layer is Σ i g i = g 0 + j =1 f j Baseline is set at 0: g 0 = 0 39 . 1
ThemeRiver optimization Try to use a layout symmetric around the -axis x g 0 + g n = 0 Σ n 2 g 0 + i =1 f i = 0 1 2 Σ n g 0 = − i =1 f i Minimizes sum of squares of top and bottom silhouette, sum of squares of slopes of and at each point g 0 g n 40 . 1
Streamgraph ordering 1. total weight of each series w i i 2. in case of , add to bottom, else add next series to top ( w i +. . . + w n /2 ) > ( w n /2+1 +. . . + w n ) 41 . 1
Graph embedding Wagner's theorem: a graph is planar iff it's minors do not include or G G K 5 K 3,3 A graph minor is obtained when deleting edges, vertices or by edge contraction: remove an edge and merge the two vertices 42 . 1
Tutte embedding Input: graph G 1. find the boundary nodes and assign them 2D positions 2. create the Laplacian matrix , where for edge between node and node 1 L L ij = i j deg ( i ) 3. zero out rows for already used nodes 4. A = I − L 5. Solve for coordinates: x Ax = b x 6. Solve for coordinates: y Ax = b y Actually can be solved other way also: do step 1 and iteratively average positions for the rest of the nodes 43 . 1
When Tutte fails Tutte embedding does not work for nodes > 100 Tutte embedding can sometimes look not nice enough: 44 . 1 Alternative: force-directed graph drawing
Alternative: force-directed graph drawing Then 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 45 . 1
Multidimensional scaling A set of input points and a distance matrix with n x 1 , . . . , x n M n × n M i , j = dist ( x i x j , ), i , j = 1, . . . , n Claimed: distance is not actually required to be a metric After that, use your favorite optimization method to minimize for: d ij ) 2 Σ j =1.. n −1 Σ i = i +1.. j (||( x i y i , ) − ( x j y j , )|| − 46 . 1
Multidimensional scaling: flattening meshes 47 . 1
Parallel coordinates For plotting multivariate data Basically, parallel axes are placed on the Cartesian coordinate system 48 . 1
Parallel coordinates: example Discrete parallel coordinates for hurricane Isabel at 50x50x10 spatial resolution 49 . 1
Scattering points in parallel coordinates Can be integrated with scatter plots 50 . 1
Line integral convolution Used 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 51 . 1
To see and to listen B. 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 52 . 1
References John 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 53 . 1
Thank you! 54 . 1
Recommend
More recommend