Download - Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

Transcript
Page 1: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

1

Data VisualizationA talk for Computer Graphics Seminar

Lauri [email protected]

Page 2: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

2

Table of ContentsData visualization: what for?The human perceptionInformation visualizationTo see and to listenReferencesThank you!

Page 3: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

3 . 1

Data visualization: what for?

Page 4: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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?

Page 5: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

5 . 1

Data visualization, formallyMapping from data domain to graphics domain

It is OK and even needed to lose some information

Page 6: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 7: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 8: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

8 . 1

Scientific visualizationWe know the representation of the data, let's draw it!

Use cases: anything to do with STEM, mostly 3D representations

Page 9: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

Scientific visualization: human skull

Page 10: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

9 . 1

Page 11: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

10 . 1

Scientific visualization: a 3D contour plot with heatmaps

Page 12: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 13: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

12 . 1

Technical visualization: a simulation of turning

Page 14: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

13 . 1

The human perception

Page 15: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 16: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 17: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

16 . 1

Hue circle

Page 18: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

17 . 1

Choosing a color scheme: colorbrewerhttp://colorbrewer2.org/

Page 19: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

18 . 1

Size and scaleUse the context to help deliver perception about size and scale

Page 20: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

19 . 1

Comparison of other methodsFrom most accurate to least accurate:

Page 21: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

20 . 1

The mapping of methods, Tableau/Polaris systemFour visual channels with regards to data type:

Page 22: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

21 . 1

PerspectiveUsing anything 3D must be really thought about

Our perception of distance influences our perception of size of the object

Page 23: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

22 . 1

MemoryAvoid animation: it is hard to remember things

Just draw multiple plots

Page 24: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

23 . 1

Seeing changeTo see an object change, it is necessary to attend to it. (Rensink)

Page 25: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

24 . 1

Seeing change: flicker

Page 26: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

25 . 1

Seeing change: frame A

Page 27: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

26 . 1

Seeing change: frame B

Page 28: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

27 . 1

Tufte's principlesRedacted and simplified:

tell the truthdata is the most importantuse minimal inkgraphical effects are not requireduse sparklines

Page 29: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

28 . 1

Shneiderman's Visual Information Seeking MantraOverview first, zoom and filter, then details-on-demand

Page 30: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

29 . 1

Information visualization

Page 31: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

Isarithmic mapVery easy to misuse

Think about your data: continuous values vs discrete points

Interpolation for continuous values, kernel density for discrete points

Page 32: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

30 . 1

Page 33: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

31 . 1

Heat mapInterpolate colors according to matrix values

Perform clustering

Perform seriation

Page 34: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 35: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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)

Page 36: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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.

Page 37: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

35 . 1

CONREC: cases visually

Page 38: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

36 . 1

CONREC: in progress

Page 39: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

37 . 1

CONREC: landscape example

Page 40: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

38 . 1

Stacked graphsUsed for visualizing time series

Page 41: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

39 . 1

Usual stacked graphThe general formula for a layer is = +gi g0 Σi

j=1fj

Baseline is set at 0: = 0g0

Page 42: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 43: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 44: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 45: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 46: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 47: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 48: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 49: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

47 . 1

Multidimensional scaling: flattening meshes

Page 50: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

48 . 1

Parallel coordinatesFor plotting multivariate data

Basically, parallel axes are placed on the Cartesian coordinate system

Page 51: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

49 . 1

Parallel coordinates: exampleDiscrete parallel coordinates for hurricane Isabel at 50x50x10 spatial resolution

Page 52: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

50 . 1

Scattering points in parallel coordinatesCan be integrated with scatter plots

Page 53: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 54: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 55: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

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

Page 56: Data Visualizationtume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2015... · 2015-11-16 · John C. Hart. Data Visualization. Coursera. Christopher G. Healey. Perception in Visualization.

54 . 1

Thank you!