infovis systems & toolkitsstasko/7450/16/notes/systems.pdf1 infovis systems & toolkits cs...

42
1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives Gain familiarity with history of visualization toolkits Describe what each's new contribution was Understand approaches taken by systems seeking to support visualization creation without programming Explain what Many Eyes was, what it provided, and what its contribution was Describe a spectrum of approaches for creating visualizations (ranging from automatic creation given data to low-level graphics libraries) and identify representative systems that occupy different places along that spectrum F all 2016 C S 7450 2

Upload: others

Post on 02-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

1

InfoVis Systems & Toolkits

CS 7450 - Information Visualization

September 21, 2016

John Stasko

Learning Objectives

• Gain familiarity with history of visualization toolkits

Describe what each's new contribution was

• Understand approaches taken by systems seeking to support

visualization creation without programming

• Explain what Many Eyes was, what it provided, and what its

contribution was

• Describe a spectrum of approaches for creating visualizations

(ranging from automatic creation given data to low-level graphics

libraries) and identify representative systems that occupy different

places along that spectrum

Fall 2016 C S 7450 2

Page 2: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

2

Fall 2016 C S 7450 3

Background

• In previous classes, we have examined

different techniques for presenting multivariate data

We’ll continue to show more later too

• Today we look at systems that implement these ideas and provide some of their

own new visualization techniques

Agenda

• Toolkits that can be used to build systems

D3, Processing, …

• Systems providing a view or views

Improvise, Many Eyes, Polaris, …

• Commercial systems

Spotfire, InfoZoom, Tableau, QlikView…

Fall 2016 C S 7450 4

Page 3: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

3

Fall 2016 C S 7450 5

Toolkits & Infrastructures

• Set of components or capabilities that

allow others to put together visualization systems

• Growing trend

Toolkit Design

• What would you include in a toolkit like

this if you designed it?

Fall 2016 C S 7450 6

Page 4: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

4

Heer++ Series

Fall 2016 C S 7450 7

Heer et al, CHI ‘05

Series of toolkits from Jeff Heer and his research group

Prefuse

Java2D

Heer++ Series

Fall 2016 C S 7450 8

Heer et al, CHI ‘05

Series of toolkits from Jeff Heer and his research group

Prefuse

Java2D

What happened???

Web!!!

Page 5: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

5

Heer++ Series

Fall 2016 C S 7450 9

Heer et al, CHI ‘05

Series of toolkits from Jeff Heer and his research group

Prefuse

Java2D

Flare Protovis

ActionScript & Flash Declarative spec.

Bostock & Heer, TVCG (InfoVis) ’09

Heer & Bostock, TVCG (InfoVis) ‘10

D3: Data-Driven Documents

• Newest entry in the Heer-Bostock line of

toolkits

• “Not just an infovis toolkit”

• Javascript-based

• Very similar to Protovis…

Except makes use explicitly of web standards such as Scalable Vector Graphics (SVG) rather than a proprietary “marks” graphics set

Fall 2016 C S 7450 10

Page 6: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

6

D3 Design Pattern

• Declarative Syntax like Protovis

• Creating/Modifying selections of the HTML

DOM

• “An elegant for-loop with a bunch of

useful helper functions”

• Excellent support for changing data

Taking advantage of CSS3 Transformations and Transitions

• Integrates seamlessly into any webpageFall 2016 C S 7450 11

D3 Website

Fall 2016 C S 7450 12

Page 7: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

7

D3 Support

• Active community online

https://github.com/mbostock/d3/wiki

Including Mike Bostock often answering questions

• Tutorial from John in our last class

Fall 2016 C S 7450 13

Vega

Fall 2016 C S 7450 14

https://trifacta.github.io/vega/

Page 8: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

8

Characteristics

• Declarative visualization grammar like D3

• No CSS, DOM, etc., though

• Describe visualizations in JSON format

• Generate interactive views via HTML5

Canvas or SVG

Fall 2016 C S 7450 15

Example Code

Fall 2016 C S 7450 16

{

"width": 400,

"height": 200,

"padding": {"top": 10, "left": 30, "bottom": 20, "right": 10},

"data": [

{

"name": "table",

"values": [

{"category":"A", "amount":28},

{"category":"B", "amount":55},

{"category":"C", "amount":43},

{"category":"D", "amount":91},

{"category":"E", "amount":81},

{"category":"F", "amount":53},

{"category":"G", "amount":19},

{"category":"H", "amount":87},

{"category":"I", "amount":52}

]

}

],

"signals": [

{

"name": "tooltip",

"init": {},

"streams": [

{"type": "rect:mouseover", "expr": "datum"},

{"type": "rect:mouseout", "expr": "{}"}

]

}

], and more…

Page 9: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

9

Premise

• Not really for humans to write

• Intended for tools to generate &

exchange it

Fall 2016 C S 7450 17

Processing

• Java based

• Unlike protovis & D3,not specifically designedfor InfoVis

Data Reader? Layout algorithm?

But can definitely be used to build visualizations!

• Well documented, lots of tutorials with contributions from many people and even books

Fall 2016 C S 7450 18

http://processing.org

Ben Fry

Page 10: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

10

Processing: the idea

• Programming as scripting

PDE: processing development environment

A program is called a sketch

written as a list of statements

Fall 2016 C S 7450 19

Processing: Useful Functions

void setup() {

//your own code here

}

void draw() {

//your own code here

}

• These are built-in functions that are called automatically.

The setup() block runs once.

The draw() block runs repeatedly: good for animation

Fall 2016 C S 7450 20

Page 11: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

11

P5.js

• Interpretation of Processing in Javascript

Fall 2016 C S 7450 21

http://p5js.org

Fall 2016 C S 7450 22

Piccolo http://code.google.com/p/piccolo2d

Page 12: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

12

Fall 2016 C S 7450 23

Characteristics

• Graphics toolkit with very nice built-in

zooming and panning support

• Useful for implementing infovis too

• Will discuss more later in course…

WebGL

Fall 2016 C S 7450 24

https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API

When you need 3D or really sophisticated graphics

Page 13: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

13

Fall 2016 C S 7450 25

More toolkits

(Which do you know?)

Aperture.js

Fall 2016 C S 7450 26

http://aperturejs.com/

Page 14: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

14

Bokeh

Fall 2016 C S 7450 27

Python

http://bokeh.pydata.org/en/latest/

HighCharts

Fall 2016 C S 7450 28

http://www.highcharts.com/

Page 15: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

15

dimple

Fall 2016 C S 7450 29

http://dimplejs.org

On top of D3

JavaScript InfoVis Toolkit

Fall 2016 C S 7450 30

http://philogb.github.io/jit/

Page 16: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

16

react-vis

Fall 2016 C S 7450 31

https://www.npmjs.com/package/react-vis

Google Chart Tools

Fall 2016 C S 7450 32

http://code.google.com/apis/visualization/documentation/

Page 17: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

17

Characteristics

• Javascript-based

• Gallery of

contributed codesegments

• Visualizations areinteractive

• Evolving API

Fall 2016 C S 7450 33

Fall 2016 C S 7450 34

Reflection

• What would you seek in a good infovis

system or toolkit?

Page 18: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

18

Toolkit Tradeoffs

• InfoVis-focused Many fundamental

techniques built-in

Can be faster to get

something going

Often more difficult to implement something “different”

Documentation?

• Generic graphics More flexible

Can customize better

Big learning curve

Doc is often better

Can take a long time

to (re)implement basic techniques

Fall 2016 C S 7450 35

Writing Code is Hard

• Why not just show what you want the

visualization to look like?

What’s the challenge?

Fall 2016 C S 7450 36

Page 19: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

19

Lyra

• Interactive vis builder tool without

needing to program

• Graphical “marks” are bound to data fields

• User shows what vis is to look like, the

mapping from data

• Generates code (Vega) that can be run on the web

Fall 2016 C S 7450 37

Satyanarayan & HeerComputer Graphics Forum (EuroVis) ‘14

Fall 2016 C S 7450 38

http://idl.cs.washington.edu/projects/lyra/

Video

Page 20: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

20

iVisDesigner

• Interactively create mappings from data

elements to graphical elements

• Has scatterplot, timeline, graph templates

Fall 2016 C S 7450 39

Ren, Hollerer, & YuanTVCG (InfoVIs) ‘14

Video

https://donghaoren.org/ivisdesigner/

Fall 2016 C S 7450 40

Journalism-driven systems

Page 21: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

21

Datawrapper

Fall 2016 C S 7450 41

https://datawrapper.de/

Chartbuilder

Fall 2016 C S 7450 42

http://quartz.github.io/Chartbuilder/

Page 22: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

22

Systems/Tools

• Academic/research systems that provide

preexisting views

• Commercial tools with suite of well-known visualizations

Fall 2016 C S 7450 43

Fall 2016 C S 7450 44

Polaris http://www.tableausoftware.com

http://www.graphics.stanford.edu/projects//polaris/

Video

Stolte et alTVCG ‘02

Page 23: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

23

Fall 2016 C S 7450 45

Basis

• Relational databases

• Pivot tables from spreadsheets

• N-dimensional data cubes

• Analytic approach is fundamental

• Provides visual representations of these concepts

Fall 2016 C S 7450 46

Visualization

• Table of data (rows, columns)

• Each axis may have nested dimensions

• Table entry is a pane, and has visual marks to represent data

• Analyst drags and drops fields from database schema onto shelves of display

• Much interaction supported

Page 24: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

24

Fall 2016 C S 7450 47

Graphics

• Formal table algebra provided to describe

data

• Visual mappings established from data types to appropriate (good) markings and

encodings

Impact: Became Tableau

Many Eyes

• InfoVis on the web

• Website developed from IBM’s infovis

group

• Motivating infovis challenges:

Difficulty of creating new visualizations

How do you discuss the visualizations?

• Project goals:

Enable end-user creation of visualizations

Foster large-scale collaborative usageFall 2016 C S 7450 48

Viégas et alTVCG (InfoVis) ‘07

Page 25: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

25

Features

• Provides data upload capabilities and

choice from library of visualizations

• Includes

Gallery of recently uploaded visualizations for browsing

Chosen highlighted visualizations

Attached discussion forums for each vis

Fall 2016 C S 7450 49

Fall 2016 C S 7450 50

Recent gallery

Featured visualizations

Page 26: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

26

Fall 2016 C S 7450 51

Discussionforums

Data

• Users upload their own data sets

All become public

• Format: table or unstructured text

Metadata allowed

• Immutable once uploaded

Fall 2016 C S 7450 52

Page 27: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

27

Visualizations

• Preloaded visualization types

Has grown over time

• User chooses one to combine with their data

• Provides named, typed slots that the user

maps particular pieces of data to

System makes some reasonable guesses too

Fall 2016 C S 7450 53

Fall 2016 C S 7450 54

Originals

Page 28: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

28

Fall 2016 C S 7450 55

WordTree

Fall 2016 C S 7450 56

Allows the user to control the mapping from data to image

Page 29: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

29

Social Aspects

• Users identified by login ID

• Can leave comments about different

visualizations

• Can take snapshot of visualization state

Unique URL

• “Blog this” button

Fall 2016 C S 7450 57

Evaluation

• Quantitative, objective

• 1895 posts of March ‘07

• Wide variety of topics of visualizations and motivations for creating visualizations

• Does seem to be fostering discussion

Fall 2016 C S 7450 58

Viégas et alHICSS ‘08

Page 30: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

30

Evaluation

• Qualitative, subjective

• In-depth interviews with some ME users

• Visualizations used largely for communication and collaboration (not

necessarily analysis)

Privacy and audience management a concern

• Highlights a number of interesting, non-

expected uses of the technology

Fall 2016 C S 7450 59

Danis et alCHI ‘08

Status

• Shut down by IBM on June 12, 2015

Fall 2016 C S 7450 60

https://www.ibm.com/blogs/analytics-zone/six-years-of-many-eyes-a-personal-retrospective/

Page 31: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

31

Thoughts?

• What do you think of the design choices

they made?

Fall 2016 C S 7450 61

Sense.us

• Related, follow-up to Many Eyes

• Discussion and visualization of US Census

data

• Go beyond Many Eyes in terms of

annotation, collaboration, and discussion

Fall 2016 C S 7450 62

Heer et alCHI ‘07

Page 32: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

32

Components

• Doubly-linked discussion Can go from visualization to threaded discussion

items or vice-versa

• Graphical annotation Simple graphics editor and comments (like

transparent layer)

• Bookmark trail Small strip of views

• Comment listings and social navigation Searchable, sortable indices and links

Fall 2016 C S 7450 63

Fall 2016 C S 7450 64

Page 33: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

33

Fall 2016 C S 7450 65

Sample annotations

Video

Statwing

• Data analysis tool

• Upload spreadsheet or dataset, pick

relationships you want to explore

• Basic graph types generated

Fall 2016 C S 7450 66

https://www.statwing.com/

Page 34: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

34

Fall 2016 C S 7450 67

Demovideo

Keshif

• Import data from spreadsheets and

csv/text files

• Provides multiplecoordinated bar

charts andhistograms

• Large set of

examples onwebsite

Fall 2016 C S 7450 68

http://keshif.me/

Page 35: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

35

Fall 2016 C S 7450 69

Demo

Commercial Systems

• Designed to handle wide variety of data

types and sets

• Typically provide suite of well-known visualizations

• (Preview of upcoming HW)

Fall 2016 C S 7450 70

Page 36: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

36

Tableau

Fall 2015 C S 7450 71

www.tableau.com

Spotfire

Fall 2015 C S 7450 72

spotfire.tibco.com

Page 37: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

37

Qlik Sense

Fall 2015 C S 7450 73

www.qlik.com

Fall 2016 C S 7450 74

Some web collections

Page 38: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

38

Fall 2016 C S 7450 75

http://www.visualisingdata.com/resources/

Fall 2016 C S 7450 76

http://www.creativebloq.com/design-tools/data-visualization-712402

Page 39: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

39

Fall 2016 C S 7450 77

https://blog.profitbricks.com/39-data-visualization-tools-for-big-data

Fall 2016 C S 7450 78

https://github.com/showcases/data-visualization

Page 40: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

40

Fall 2016 C S 7450 79

https://articles.uie.com/data_visualization_tools/

Fall 2016 C S 7450 80

http://lisacharlotterost.github.io/2016/05/17/one-chart-tools/

Neat comparisonof 12 different

tools using thesame data set

Page 41: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

41

Learning Objectives

• Gain familiarity with history of visualization toolkits

Describe what each's new contribution was

• Understand approaches taken by systems seeking to support

visualization creation without programming

• Explain what Many Eyes was, what it provided, and what its

contribution was

• Describe a spectrum of approaches for creating visualizations

(ranging from automatic creation given data to low-level graphics

libraries) and identify representative systems that occupy different

places along that spectrum

Fall 2016 C S 7450 81

Project Topics Feedback

• Returned today

Comments on your document

Score 1->10

• Can resubmit a revision or propose a new topic

Do it for Monday

• Get to work on design – Poster session

coming in 2 weeks!

Fall 2016 C S 7450 82

Page 42: InfoVis Systems & Toolkitsstasko/7450/16/Notes/systems.pdf1 InfoVis Systems & Toolkits CS 7450 - Information Visualization September 21, 2016 John Stasko Learning Objectives • Gain

42

Reading

• Viegas & Wattenberg, "Many Eyes", '07

• Check out videos/demos of systems not

shown

Fall 2016 C S 7450 83

Fall 2016 C S 7450 84

Upcoming

• Interaction

• Overview & Detail