Data Visualization A talk for Computer Graphics Seminar Lauri - - PowerPoint PPT Presentation

data visualization
SMART_READER_LITE
LIVE PREVIEW

Data Visualization A talk for Computer Graphics Seminar Lauri - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

1

Data Visualization

A talk for Computer Graphics Seminar Lauri Listak lauri@listak.net

slide-2
SLIDE 2

2

Table of Contents

Data visualization: what for? The human perception Information visualization To see and to listen References Thank you!

slide-3
SLIDE 3

3 . 1

Data visualization: what for?

slide-4
SLIDE 4

4 . 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?

slide-5
SLIDE 5

5 . 1

Data visualization, formally

Mapping from data domain to graphics domain It is OK and even needed to lose some information

slide-6
SLIDE 6

6 . 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

slide-7
SLIDE 7

7 . 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

slide-8
SLIDE 8

8 . 1

Scientific visualization

We know the representation of the data, let's draw it! Use cases: anything to do with STEM, mostly 3D representations

slide-9
SLIDE 9

Scientific visualization: human skull

slide-10
SLIDE 10

9 . 1

slide-11
SLIDE 11

10 . 1

Scientific visualization: a 3D contour plot with heatmaps

slide-12
SLIDE 12

11 . 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

slide-13
SLIDE 13

12 . 1

Technical visualization: a simulation of turning

slide-14
SLIDE 14

13 . 1

The human perception

slide-15
SLIDE 15

14 . 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

slide-16
SLIDE 16

15 . 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

slide-17
SLIDE 17

16 . 1

Hue circle

slide-18
SLIDE 18

17 . 1

Choosing a color scheme: colorbrewer

http://colorbrewer2.org/

slide-19
SLIDE 19

18 . 1

Size and scale

Use the context to help deliver perception about size and scale

slide-20
SLIDE 20

19 . 1

Comparison of other methods

From most accurate to least accurate:

slide-21
SLIDE 21

20 . 1

The mapping of methods, Tableau/Polaris system

Four visual channels with regards to data type:

slide-22
SLIDE 22

21 . 1

Perspective

Using anything 3D must be really thought about Our perception of distance influences our perception of size of the object

slide-23
SLIDE 23

22 . 1

Memory

Avoid animation: it is hard to remember things Just draw multiple plots

slide-24
SLIDE 24

23 . 1

Seeing change

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

slide-25
SLIDE 25

24 . 1

Seeing change: flicker

slide-26
SLIDE 26

25 . 1

Seeing change: frame A

slide-27
SLIDE 27

26 . 1

Seeing change: frame B

slide-28
SLIDE 28

27 . 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

slide-29
SLIDE 29

28 . 1

Shneiderman's Visual Information Seeking Mantra

Overview first, zoom and filter, then details-on-demand

slide-30
SLIDE 30

29 . 1

Information visualization

slide-31
SLIDE 31

Isarithmic map

Very easy to misuse Think about your data: continuous values vs discrete points Interpolation for continuous values, kernel density for discrete points

slide-32
SLIDE 32

30 . 1

slide-33
SLIDE 33

31 . 1

Heat map

Interpolate colors according to matrix values Perform clustering Perform seriation

slide-34
SLIDE 34

32 . 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

slide-35
SLIDE 35

33 . 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
  • 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

d(i, j), d(i + 1, j), d(i, j + 1), d(i + 1, j + 1)

slide-36
SLIDE 36

34 . 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.

slide-37
SLIDE 37

35 . 1

CONREC: cases visually

slide-38
SLIDE 38

36 . 1

CONREC: in progress

slide-39
SLIDE 39

37 . 1

CONREC: landscape example

slide-40
SLIDE 40

38 . 1

Stacked graphs

Used for visualizing time series

slide-41
SLIDE 41

39 . 1

Usual stacked graph

The general formula for a layer is

= + gi g0 Σi

j=1fj

Baseline is set at 0:

= 0 g0

slide-42
SLIDE 42

40 . 1

ThemeRiver optimization

Try to use a layout symmetric around the -axis

x + = 0 g0 gn 2 + = 0 g0 Σn

i=1fi

= − g0

1 2 Σn i=1fi

Minimizes sum of squares of top and bottom silhouette, sum of squares of slopes of and at each point

g0 gn

slide-43
SLIDE 43

41 . 1

Streamgraph ordering

  • 1. total weight
  • f each series
  • 2. in case of

, add to bottom, else add next series to top

wi i ( +. . . + ) > ( +. . . + ) wi wn/2 wn/2+1 wn

slide-44
SLIDE 44

42 . 1

Graph embedding

Wagner's theorem: a graph is planar iff it's minors do not include

  • r

G G K5 K3,3

A graph minor is obtained when deleting edges, vertices or by edge contraction: remove an edge and merge the two vertices

slide-45
SLIDE 45

43 . 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

  • 3. zero out rows for already used nodes

4.

  • 5. Solve for coordinates:
  • 6. Solve for coordinates:

L = Lij

1 deg(i)

i j A = I − L x 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

slide-46
SLIDE 46

44 . 1

When Tutte fails

Tutte embedding does not work for nodes

> 100

Tutte embedding can sometimes look not nice enough:

Alternative: force-directed graph drawing

slide-47
SLIDE 47

45 . 1

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

  • ther: they have "springs" or energy between them
slide-48
SLIDE 48

46 . 1

Multidimensional scaling

A set of input points and a distance matrix with

n , . . . , x1 xn M n × n = dist( , ), i, j = 1, . . . , n Mi,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

slide-49
SLIDE 49

47 . 1

Multidimensional scaling: flattening meshes

slide-50
SLIDE 50

48 . 1

Parallel coordinates

For plotting multivariate data Basically, parallel axes are placed on the Cartesian coordinate system

slide-51
SLIDE 51

49 . 1

Parallel coordinates: example

Discrete parallel coordinates for hurricane Isabel at 50x50x10 spatial resolution

slide-52
SLIDE 52

50 . 1

Scattering points in parallel coordinates

Can be integrated with scatter plots

slide-53
SLIDE 53

51 . 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

slide-54
SLIDE 54

52 . 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

slide-55
SLIDE 55

53 . 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

slide-56
SLIDE 56

54 . 1

Thank you!