e6893 big data analytics lecture 10: big data ...€¦ · 2 e6893 big data analytics– lecture 10:...

56
© CY Lin, 2020 Columbia University E6893 Big Data Analytics — Lecture 10 E6893 Big Data Analytics Lecture 10: Big Data Visualization — II Ching-Yung Lin, Ph.D. Adjunct Professor, Dept. of Electrical Engineering and Computer Science December 4th, 2020

Upload: others

Post on 22-Sep-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© CY Lin, 2020 Columbia UniversityE6893 Big Data Analytics — Lecture 10

E6893 Big Data Analytics Lecture 10:

Big Data Visualization — II

Ching-Yung Lin, Ph.D.

Adjunct Professor, Dept. of Electrical Engineering and Computer Science

December 4th, 2020

Page 2: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II2

Outline

Part I: SVG and its applications Part II: From SVG to D3

Page 3: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II3

SVG Introduction

Reference: http://tutorials.jenkov.com/svg/svg-examples.html

Page 4: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II4

SVG Examples

Page 5: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II5

SVG Examples

Page 6: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II6

SVG Examples

Page 7: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II7

SVG Examples

Page 8: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II8

SVG Examples

Page 9: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II9

A Simple SVG Example

Page 10: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II10

SVG in HTML

Page 11: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II11

SVG g, line, rect, and text Elements

Page 12: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II12

SVG strokes and fill

Page 13: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II13

SVG path Element

A: Arc M: Move L: Line

Page 14: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II14

SVG arc

Page 15: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II15

SVG path Element

Page 16: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II16

SVG text Element

Page 17: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II17

SVG text Element

Page 18: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II18

SVG Transformation

Page 19: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II19

SVG Animation

Page 20: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II20

SVG Animation

Page 21: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II21

SVG Animation

Page 22: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II22

SVG Animation

Page 23: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II23

SVG Animation

Page 24: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II24

SVG Gradients

Page 25: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II25

SVG Gradients

Page 26: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II26

SVG Gradients

Page 27: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II27

SVG Image

Page 28: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II28

SVG Maps

https://www.tutorialspoint.com/svg/maps.htm

Page 29: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II29

D3 Introduction and Examples

Page 30: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II30

D3 Website

http://d3js.org

Page 31: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II31

D3 Installation

Page 32: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II32

D3 Selections

In Javascript:

Page 33: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II33

D3 Dynamic Properties

Randomly color paragraphs:

Alternate shades of gray for even and odd nodes:

Page 34: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II34

D3 Dynamic Properties

Randomly color paragraphs:

Page 35: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II35

D3 Enter

Page 36: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II36

D3 Exit

Page 37: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II37

D3 Transformation

Page 38: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II38

D3 Bar Chart Tutorial

https://bost.ocks.org/mike/bar/

Javascript:

D3:

Page 39: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II39

D3 Bar Chart Tutorial

Page 40: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II40

D3 Bar Chart Tutorial

Page 41: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II41

D3 Bar Chart Tutorial

Page 42: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II42

D3 Bar Chart Tutorial

Page 43: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II43

D3 Bar Chart Tutorial

Page 44: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II44

D3 Bar Chart Tutorial

Full code to do it manually

Page 45: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II45

D3 Bar Chart Tutorial

Full code to do it automatically

Page 46: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II46

D3 Bar Chart Tutorial

Full code to do it automatically

Page 47: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II47

D3 Bar Chart Tutorial

Load data

The equivalent of Javascript code:

Page 48: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II48

D3 Bar Chart Tutorial

Page 49: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II49

D3 Bar Chart Tutorial

Page 50: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II50

D3 Example Circles

https://bost.ocks.org/mike/circles/

Page 51: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II51

D3 Example Circles

https://bost.ocks.org/mike/circles/

Page 52: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II52

D3 Gallery

Page 53: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II53

D3 Gallery

Page 54: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II54

D3 Gallery

Page 55: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II55

D3 Gallery

Page 56: E6893 Big Data Analytics Lecture 10: Big Data ...€¦ · 2 E6893 Big Data Analytics– Lecture 10: Data Visualization II © 2019 CY Lin, Columbia University Outline Part I: SVG and

© 2020 CY Lin, Columbia UniversityE6893 Big Data Analytics– Lecture 10: Data Visualization II56

D3 Gallery