Reactive Building Blocks
|
|
- Corey Jefferson
- 6 years ago
- Views:
Transcription
1 Reactive Building Blocks Interactive Visualizations with Vega Arvind Stanford University Jane Hoffswell Dominik Kanit "Ham" Jeffrey University of Washington 1
2 Three Little Circles * Visual Design var circle = svg.selectall('circle').data([32, 57, 293]); circle.enter().append('circle').attr('fill', 'steelblue').attr('cy', 60).attr('cx', function(d, i) { return i * ; }).attr('r', function(d) { return Math.sqrt(d); }); Map data values to visual properties. Declarative design: specify what we want, rather than how it should be computed. Interaction Design var dragging = null; circle.on('mousedown', function() { dragging = d3.select(this).attr('fill', 'goldenrod'); }); d3.select(window).on('mouseup', function() { dragging.attr('fill', 'steelblue'); dragging = null; }).on('', function() { if (!dragging) return; dragging.attr('cy', d3.event.pagey); d3.event.stoppropagation(); }); Imperative design: define explicit steps of how it should be computed. * Mike Bostock,
3 The Trouble with Imperative Interaction var dragging = null; circle.on('mousedown', function() { dragging = d3.select(this).attr('fill', 'goldenrod'); }); d3.select(window).on('mouseup', function() { dragging.attr('fill', 'steelblue'); dragging = null; }).on('', function() { if (!dragging) return; dragging.attr('cy', d3.event.pagey); d3.event.stoppropagation(); }); 1. Manually maintain state. 2. Re-define visual appearance in multiple locations. 3. Low-level idiosyncrasies. 4. Callback Hell: unpredictable and interleaved execution. 7
4 1. Manually maintain state. 2. Re-define visual appearance in multiple locations. 3. Low-level idiosyncrasies. 4. Callback Hell: unpredictable and interleaved execution. 8
5 1. Manually maintain state. 2. Re-define visual appearance in multiple locations. 3. Low-level idiosyncrasies. 4. Callback Hell: unpredictable and interleaved execution. 9
6 Reactive Programming 10
7 Reactive Programming Events are streaming data. Dynamic variables (signals) automatically update. 10
8 Data + Transforms Scales Guides Marks {... "width": 650, "height": 300, "data": [... {"name": "iris", "url": "data/iris.json"}, {"name": "fields", "values": ["sepalwidth",...] ], "scales": [... {... "name": "color", "type": "ordinal", "domain": {"data": "iris", "field": "species"} "range": "category20" },... ], "legends": [... {"fill": "x", "scale": "color"} ], "marks": [{... "type": "group", "from": {... "data": "fields", "transform": [{"type": "cross"}]... }, "marks": [{... "type": "symbol", "from": {"data": "iris"}, "properties": { "enter": {... "x": {"scale": "sx", "field": "date"}, "y": {"scale": "sy", "field": "price"}, "stroke": {"scale": "sc", "field": "symbol"} }} }], "scales": [{... "name": "sx", "type": "linear", "domain": {"data": "iris", "field": {"parent": "a.data"}, 15
9 Data + Transforms Scales Guides Marks Event Streams + Signals Scale Inversions Predicates Production Rules [mousedown, mouseup] > minx = min(width, event.x) minval = xscale.invert(minx) p(t) = minval t.value maxval fill = p(t)! colorscale(t.category)! gray 16
10 Example Brushing & Linking 17
11 Events are a form of streaming data. A stream of events that occur on rect marks. rect: 19
12 *:mousedown, *:mouseup a single stream merges mousedown and mouseup streams [*:mousedown, *:mouseup] > *: A stream of events that occur between a mousedown and a mouseup (aka drag) stream of events that occur between and mousedown mousedown mousedown mouseup mousedown mouseup mousedown mouseup *:click[event.pagey >= 300] [data.price < 500] filtered stream of click events click click click click click *:{3ms,5ms} stream of events that occur at least 3ms, and at most 5ms, apart (debouncing/throttling) price = 300 pagey = 500 price = 750 pagey = 310 price = 425 pagey = 170 price = 115 pagey = 333 price = 500 pagey = 55 mouseup click click 0ms 2ms 4ms 6ms 8ms 10ms 20
13 mousedown [mousedown, mouseup] > 21
14 mousedown Signal [mousedown, mouseup] > Signal 21
15 mousedown Signal Start [mousedown, mouseup] > Signal End 21
16 mousedown Signal Start Rect Mark [mousedown, mouseup] > Signal End 22
17 mousedown Signal Start Rect Mark [mousedown, mouseup] > Signal End 22
18 mousedown Signal Start Predicate [mousedown, mouseup] > Signal End 23
19 mousedown Signal Start Predicate Selection xstart xpt xend && ystart ypt yend [mousedown, mouseup] > Signal End 23
20 mousedown Signal Start Selection xstart xpt xend && ystart ypt yend [mousedown, mouseup] > Signal End 24
21 mousedown Signal Start Circle Mark Fill Rule Selection xstart xpt xend && ystart ypt yend [mousedown, mouseup] > Signal End 24
22 mousedown Signal Start Circle Mark Fill Rule if (Scaled species) blue orange green Selection xstart xpt xend && ystart ypt yend [mousedown, mouseup] > Signal End 24
23 mousedown Signal Start Circle Mark Fill Rule if else gray (Scaled species) blue orange green Selection xstart xpt xend && ystart ypt yend [mousedown, mouseup] > Signal End 24
24
25 mousedown Signal Start Selection xstart xpt xend && ystart ypt yend [mousedown, mouseup] > Signal End 26
26 mousedown Signal Start event.target Scatterplot Selection xstart xpt xend && ystart ypt yend [mousedown, mouseup] > Signal End 26
27 mousedown Signal Start Scale Inversion event.target Scatterplot Selection xstart xpt xend && ystart ypt yend [mousedown, mouseup] > Signal End Scale Inversion 27
28 mousedown Signal Start Scale Inversion event.target Scatterplot Query sepalstart sepalpt sepalend && petalstart petalpt petalend [mousedown, mouseup] > Signal End Scale Inversion 28
29 mousedown Signal Start Scale Inversion Circle Mark Fill Rule if else gray (Scaled species) blue orange green event.target Scatterplot Query sepalstart sepalpt sepalend && petalstart petalpt petalend [mousedown, mouseup] > Signal End Scale Inversion 28
30 mousedown Signal Start Scale Inversion Circle Mark Fill Rule if else gray (Scaled species) blue orange green event.target Scatterplot [mousedown, mouseup] > Signal End Scale Inversion 29
31 mousedown Start Scale Inversion Scatterplot [mousedown, mouseup] > End Scale Inversion Circle Mark Fill Rule if else gray (Scaled species) blue orange green 30
32 mousedown Start Declarative Interaction Design Scale Inversion Scatterplot [mousedown, mouseup] > Scale Inversion End Circle Mark Fill Rule if else gray (Scaled species) blue orange green 30
33 mousedown Start Scale Inversion Declarative Interaction Design Faster iteration + accessible to a larger audience. Scatterplot [mousedown, mouseup] > Scale Inversion End Circle Mark Fill Rule if else gray (Scaled species) blue orange green 30
34 mousedown Start Scale Inversion Declarative Interaction Design Faster iteration + accessible to a larger audience. Scatterplot Performance + scalability. At least 2x faster than D3 + callbacks. [mousedown, mouseup] > Scale Inversion End Circle Mark Fill Rule if else gray (Scaled species) blue orange green 30
35 mousedown Start Scale Inversion Declarative Interaction Design Faster iteration + accessible to a larger audience. Scatterplot Performance + scalability. At least 2x faster than D3 + callbacks. [mousedown, mouseup] > End Scale Inversion Reuse + portability. Write once. Re-apply with different input data. Re-target to multiple devices, renderers, or modalities. Circle Mark Fill Rule if else gray (Scaled species) blue orange green 30
36 Start Scatterplot Scale Inversion Declarative Interaction Design Faster iteration + accessible to a larger audience. Performance + scalability. At least 2x faster than D3 + callbacks. End Scale Inversion Reuse + portability. Write once. Re-apply with different input data. Re-target to multiple devices, renderers, or modalities. Circle Mark Fill Rule if else gray (Scaled species) blue orange green 31
37 touchstart Start Scale Inversion Declarative Interaction Design Faster iteration + accessible to a larger audience. Scatterplot Performance + scalability. At least 2x faster than D3 + callbacks. [touchstart, touchend] > touchmove End Scale Inversion Reuse + portability. Write once. Re-apply with different input data. Re-target to multiple devices, renderers, or modalities. Circle Mark Fill Rule if else gray (Scaled species) blue orange green 32
38 Demo 33
39 vega.github.io/vega/ 34
40 One more thing... 35
41 Interactive Vega-Lite 36
42 Interactive Vega-Lite (A Sneak Peak) 36
43 can be initialized { } "repeat": {"column": ["hour", "delay", "distance"]}, {... "data": {"url": "data/flights.json"}, Data "mark": "bar", Mark "encoding": {... }... }... "x": {"field": "hour", "bin": true, "type": "quantitative",}, "y": {"field": "*", "aggregate": "count", "type": "quantitative"} Transforms + Scales & Guides (not shown) 41
44 can be initialized {... "repeat": {"column": ["hour", "delay", "distance"]}, "spec": { "data": {"url": "data/flights.json"}, "mark": "bar", "encoding": { "x": {"field": {"repeat": "column"}, "bin": true, "type": "quantitative"}, "y": {"field": "*", "aggregate": "count", "type": "quantitative"} }... }... }... 43
45 { } can be initialized "repeat": {"column": ["hour", "delay", "distance"]}, "spec": { "layers": [{ "data": {"url": "data/flights.json"}, "mark": "bar", "encoding": { "x": {"field": {"repeat": "column"}, "bin": true, "type": "quantitative"}, "y": {"field": "*", "aggregate": "count", "type": "quantitative"} } }, {..., "encoding": {..., "color": {"value": "goldenrod"} } }] } 45
46 { can be initialized "repeat": {"column": ["hour", "delay", "distance"]}, "spec": { "layers": [{..., "mark": "bar", "encoding": { "x": {"field": {"repeat": "column"}, "type": "Q", "bin": true}, "y": {"aggregate": "count", "field": "*", "type": "Q"} } }, {..., } } }] 46
47 { can be initialized "repeat": {"column": ["hour", "delay", "distance"]}, "spec": { "layers": [{..., "select": { "region": { "type": "interval", "project": {"channels": ["x"]},... } } }, {..., } } }] 47
48 { } can be initialized "repeat": {"column": ["hour", "delay", "distance"]}, "spec": { "layers": [{..., "select": { "region": { "type": "interval", "project": {"channels": ["x"]},... } } }, {..., "transform": {"filterwith": "region"} }] } 48
49 { } can be initialized "repeat": {"column": ["hour", "delay", "distance"]}, "spec": { "layers": [{..., "select": { "region": { "type": "interval", "project": {"channels": ["x"]},... } } }, {..., "transform": {"filterwith": "region"} }] } 35 Lines of JSON! 48
50 can be initialized 49
51 Vega: A Platform for Visualization Voyager PoleStar Altair Vega-Lite Lyra Wikipedia Vega D3 JavaScript SVG Canvas 50
52 Vega: A Platform for Visualization Voyager PoleStar Altair Vega-Lite Lyra Wikipedia Vega D3 JavaScript SVG Canvas 50
53 Vega: A Platform for Visualization Voyager PoleStar Altair Vega-Lite Lyra Wikipedia Vega D3 JavaScript SVG Canvas 50
54 Vega: A Platform for Visualization Voyager PoleStar Altair Vega-Lite Lyra Wikipedia? Vega D3 JavaScript SVG Canvas 50
55 vega.github.io 51
Visualization Systems & Toolkits
Visualization Systems & Toolkits 8803DV CS/MGT April 10, 2017 Systems/tools that help people create visualizations or use visualizations to help people explore and analyze data. Toolkits are components/libraries/packages
More informationD3js Tutorial. Tom Torsney-Weir Michael Trosin
D3js Tutorial Tom Torsney-Weir Michael Trosin http://www.washingtonpost.com/wp-srv/special/politics Contents Some important aspects of JavaScript Introduction to SVG CSS D3js Browser-Demo / Development-Tools
More informationVisualization Process
Visualization Process Visualization Torsten Möller Agenda Overview of visualization pipelines Detail on d3 s implementation 2 Visualization Process Visualization pipeline Pipeline Model [J. Heer, Prefuse]
More informationVisualization Process
Visualization Process Visualization Torsten Möller Agenda Overview of visualization pipelines Detail on d3 s implementation 2 Visualization Process Visualization pipeline Visualization Pipeline simulation
More informationTUTORIAL: D3 (1) Basics. Christoph Kralj Manfred Klaffenböck
TUTORIAL: D3 (1) Basics Christoph Kralj christoph.kralj@univie.ac.at Manfred Klaffenböck manfred.klaffenboeck@univie.ac.at Overview Our goal is to create interactive visualizations viewable in your, or
More informationResonant Laboratory and Candela: Spreading Your Visualization Ideas to the Masses
Resonant Laboratory and Candela: Spreading Your Visualization Ideas to the Masses Alex Bigelow University of Utah Roni Choudhury Kitware, Inc. Jeffrey Baumes Kitware, Inc. 1 INTRODUCTION Visualization
More informationHCDE 530: Computational Techniques for HCDE Data Visualization in Web, Part 2
HCDE 530: Computational Techniques for HCDE Data Visualization in Web, Part 2 David McDonald, Sungsoo (Ray) Hong University of Washington Outline Before we start Download HCDE530_D3_part2.zip in the course
More informationD3 Introduction. Gracie Young and Vera Lin. Slides adapted from
D3 Introduction Gracie Young and Vera Lin Slides adapted from Maneesh Agrawala Jessica Hullman Ludwig Schubert Peter Washington Alec Glassford and Zach Maurer CS 448B: Visualization Fall 2018 Topics 1)
More informationA DeVIL-ish Approach to Inconsistency in Interactive Visualizations
A DeVIL-ish Approach to Inconsistency in Interactive Visualizations Yifan Wu UC Berkeley yifanwu@berkeley.edu Joseph M. Hellerstein UC Berkeley hellerstein@berkeley.edu Eugene Wu Columbia University ewu@cs.columbia.edu
More informationD3 Exercises & Questioning. Presenter: Shiwangi Singh
D3 Exercises & Questioning Presenter: Shiwangi Singh Discussion Topics Questions : Update Pattern Merge and Exit D3 Examples : Smooth Transitioning Voronoi Topology Jigsaw Morphing Update Patterns 0 d3.select(
More informationWeb App Vs Web Site. Some tricks of the trade. Laurent Technical Director, BlackBerry Web Platform
Web App Vs Web Site Some tricks of the trade Laurent Hasson @ldhasson, lhasson@rim.com Technical Director, BlackBerry Web Platform 2012-05-09 Web Apps Vs. Web Sites 1 INTRODUCTION 2012-05-09 Web Apps Vs.
More informationVisual Encoding Design
CSE 442 - Data Visualization Visual Encoding Design Jeffrey Heer University of Washington Last Time: Data & Image Models The Big Picture task questions, goals assumptions data physical data type conceptual
More informationLanguage Reference Manual
COMS 4115: Programming Languages and Translators SBML: Shen Bi Ma Liang Chinese Character: 神筆馬良 English Translation: Magic Pen Boy Language Reference Manual Bin Liu (bl2329@columbia.edu) Yiding Cheng (yc2434@columbia.edu)
More informationCSE512 :: 28 Jan Visualization Tools. Jeffrey Heer University of Washington
CSE512 :: 28 Jan 2014 Visualization Tools Jeffrey Heer University of Washington 1 How do people create visualizations? Chart Typology Pick from a stock of templates Easy-to-use but limited expressiveness
More informationRadical GUI Makeover with Ajax Mashup
Radical GUI Makeover with Ajax Mashup Terrence Barr Senior Technologist and Community Ambassador Java Mobile & Embedded Community TS-5733 Learn how to turn a 'plain old' Java Platform, Micro Edition (Java
More informationScalable Vector Graphics commonly known as SVG is a XML based format to draw vector images. It is used to draw twodimentional vector images.
About the Tutorial Scalable Vector Graphics commonly known as SVG is a XML based format to draw vector images. It is used to draw twodimentional vector images. This tutorial will teach you basics of SVG.
More informationSupplementary Materials of canvasdesigner
Supplementary Materials of canvasdesigner Contents Web URLs to tools and online user guide... 2 SVG (Scalable Vector Graphics) files generated by canvasxpress... 3 Layout multiple SVG files by canvasdesigner...
More informationInfoVis Systems & Toolkits
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
More information1. Complete these exercises to practice creating user functions in small sketches.
Lab 6 Due: Fri, Nov 4, 9 AM Consult the Standard Lab Instructions on LEARN for explanations of Lab Days ( D1, D2, D3 ), the Processing Language and IDE, and Saving and Submitting. Rules: Do not use the
More informationHell is other browsers - Sartre. The touch events. Peter-Paul Koch (ppk) DIBI, 28 April 2010
Hell is other browsers - Sartre The touch events Peter-Paul Koch (ppk) http://quirksmode.org http://twitter.com/ppk DIBI, 28 April 2010 The desktop web Boring! - Only five browsers with only one viewport
More information16. HTML5, HTML Graphics, & HTML Media 웹프로그래밍 2016 년 1 학기 충남대학교컴퓨터공학과
16. HTML5, HTML Graphics, & HTML Media 웹프로그래밍 2016 년 1 학기 충남대학교컴퓨터공학과 목차 HTML5 Introduction HTML5 Browser Support HTML5 Semantic Elements HTML5 Canvas HTML5 SVG HTML5 Multimedia 2 HTML5 Introduction What
More informationTHE JAVASCRIPT ARTIST 15/10/2016
THE JAVASCRIPT ARTIST 15/10/2016 Objectives Learn how to program with JavaScript in a fun way! Understand the basic blocks of what makes a program. Make you confident to explore more complex features of
More informationLecture Topic Projects
Lecture Topic Projects 1 Intro, schedule, and logistics 2 Applications of visual analytics, basic tasks, data types 3 Introduction to D3, basic vis techniques for non-spatial data Project #1 out 4 Visual
More informationCISC 1600 Lecture 3.1 Introduction to Processing
CISC 1600 Lecture 3.1 Introduction to Processing Topics: Example sketches Drawing functions in Processing Colors in Processing General Processing syntax Processing is for sketching Designed to allow artists
More informationCoding Annoyances. FOMC dotplot with D3 and Python
http://rubenhm.org/blog/ Research, Writings + Code Coding Annoyances FOMC dotplot with D3 and Python 03 January 2017 Rubén Hernández-Murillo The FOMC's dotplot is part of the Summary of Economic Projections
More informationKyrix: Interactive Visual Data Exploration at Scale
Kyrix: Interactive Visual Data Exploration at Scale Wenbo Tao MIT CSAIL wenbo@mit.edu Remco Chang Tufts University remco@cs.tufts.edu Xiaoyu Liu Purdue University liu1962@purdue.edu Çağatay Demiralp MIT
More informationMulti-Dimensional Vis
CSE512 :: 21 Jan 2014 Multi-Dimensional Vis Jeffrey Heer University of Washington 1 Last Time: Exploratory Data Analysis 2 Exposure, the effective laying open of the data to display the unanticipated,
More informationKyrix: Interactive Visual Data Exploration at Scale
Kyrix: Interactive Visual Data Exploration at Scale Wenbo Tao MIT CSAIL wenbo@mit.edu Remco Chang Tufts University remco@cs.tufts.edu Xiaoyu Liu Purdue University liu1962@purdue.edu Çağatay Demiralp MIT
More informationImproving the Accessibility and Usability of Complex Web Applications
Media #WWDC14 Improving the Accessibility and Usability of Complex Web Applications Session 516 Jesse Bunch Productivity Engineering 2014 Apple Inc. All rights reserved. Redistribution or public display
More informationCSE Data Visualization. Design Critiques. Jeffrey Heer University of Washington
CSE 512 - Data Visualization Design Critiques Jeffrey Heer University of Washington Final Project Final Project Design a new visualization system or technique. Many options New system for a chosen domain
More informationData Visualization (CIS/DSC 468)
Data Visualization (CIS/DSC 468) Data Dr. David Koop SVG Example http://codepen.io/dakoop/pen/ yexvxb
More informationProtovis cheat sheet. Property Description Area Bar Dot Line Wedge Label Rule. Style Description Area Bar Dot Line Wedge Label Rule.
Protovis cheat sheet AREA BAR DOT LINE WEDGE right height width height outerradius innerradius Property Area Bar Dot Line Wedge Label Rule data the array of data used to position elements in a chart distance
More informationCISC 1600, Lab 2.1: Processing
CISC 1600, Lab 2.1: Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using Sketchpad, a site for building processing sketches online using processing.js. 1.1. Go to http://cisc1600.sketchpad.cc
More informationINFORMATION VISUALIZATION
CSE 557A Sep 26, 2016 INFORMATION VISUALIZATION Alvitta Ottley Washington University in St. Louis Slide Credits: Mariah Meyer, University of Utah Remco Chang, Tufts University HEIDELBERG LAUREATE FORUM
More informationCreating Content with iad JS
Creating Content with iad JS Part 2 The iad JS Framework Antoine Quint iad JS Software Engineer ios Apps and Frameworks 2 Agenda Motivations and Features of iad JS Core JavaScript Enhancements Working
More information12. A(n) is the number of times an item or number occurs in a data set.
Chapter 15 Vocabulary Practice Match each definition to its corresponding term. a. data b. statistical question c. population d. sample e. data analysis f. parameter g. statistic h. survey i. experiment
More informationData Visualization (DSC 530/CIS )
Data Visualization (DSC 530/CIS 602-01) HTML, CSS, & SVG Dr. David Koop Data Visualization What is it? How does it differ from computer graphics? What types of data can we visualize? What tasks can we
More informationCOMS 4115: Programming Languages and Translators. SBML: Shen Bi Ma Liang. Chinese Character: Project Proposal
COMS 4115: Programming Languages and Translators SBML: Shen Bi Ma Liang Chinese Character: English Translation: Magic Pen Boy Project Proposal Bin Liu (bl2329@columbia.edu) Yiding Cheng (yc2434@columbia.edu)
More informationPackage d3r. January 29, 2019
Type Package Title 'd3.js' Utilities for R Version 0.8.5 Date 2019-01-28 Package d3r January 29, 2019 Maintainer Kent Russell URL https://github.com/timelyportfolio/d3r
More informationCISC 1600, Lab 2.2: Interactivity in Processing
CISC 1600, Lab 2.2: Interactivity in Processing Prof Michael Mandel 1 Getting set up For this lab, we will again be using Sketchpad, a site for building processing sketches online using processing.js.
More informationClass CSE F. *slides are from CSE S at SKKU & at MIT
Class CSE2013-17F *slides are from CSE2013-16S at SKKU & 6.096 at MIT Representing a Vector In the context of geometry, a vector consists of 2 points: a start and a finish Each point itself has an x and
More information5/19/2015. Objectives. JavaScript, Sixth Edition. Using Touch Events and Pointer Events. Creating a Drag-and Drop Application with Mouse Events
Objectives JavaScript, Sixth Edition Chapter 10 Programming for Touchscreens and Mobile Devices When you complete this chapter, you will be able to: Integrate mouse, touch, and pointer events into a web
More informationFormalizing Visualization Design Knowledge as Constraints: Actionable and Extensible Models in Draco
Formalizing Visualization Design Knowledge as Constraints: Actionable and Extensible Models in Draco Dominik Moritz, Chenglong Wang, Greg L. Nelson, Halden Lin, Adam M. Smith, Bill Howe, Jeffrey Heer Abstract
More informationHell is other browsers - Sartre. The touch events. Peter-Paul Koch (ppk) WebExpo, 24 September 2010
Hell is other browsers - Sartre The touch events Peter-Paul Koch (ppk) http://quirksmode.org http://twitter.com/ppk WebExpo, 24 September 2010 The desktop web Boring! - Only five browsers with only one
More informationUniversity of Cincinnati. P5.JS: Getting Started. p5.js
p5.js P5.JS: Getting Started Matthew Wizinsky University of Cincinnati School of Design HTML + CSS + P5.js File Handling & Management Environment Canvas Coordinates Syntax Drawing Variables Mouse Position
More informationVisual Encoding Design
CSE 442 - Data Visualization Visual Encoding Design Jeffrey Heer University of Washington Review: Expressiveness & Effectiveness / APT Choosing Visual Encodings Assume k visual encodings and n data attributes.
More informationWeb Programming 1 Packet #5: Canvas and JavaScript
Web Programming 1 Packet #5: Canvas and JavaScript Name: Objectives: By the completion of this packet, students should be able to: use JavaScript to draw on the canvas element Canvas Element. This is a
More informationData Visualization (DSC 530/CIS )
Data Visualization (DSC 530/CIS 602-02) Web Programming Dr. David Koop 2 What languages do we use on the Web? 3 Languages of the Web HTML CSS SVG JavaScript - Versions of Javascript: ES6, ES2015, ES2017
More informationPaid user:1,600,000 $3 /month
Paid user:1,600,000 $3 /month Paid user:1,600,000 $3 /month Free user:25,000,000 Weather Geek s Party... culture snow qanuk qengaruk aniu nutaryuk snow nevluk natquik kanevvluk muruaneq kaneq qanisquineq
More informationFrTime: A Language for Reactive Programs
FrTime: A Language for Reactive Programs Version 5.3.6 Greg Cooper August 9, 2013 #lang frtime The frtime language supports declarative construction of reactive systems in a syntax very similar to that
More informationLab 4: create a Facebook Messenger bot and connect it to the Watson Conversation service
Lab 4: create a Facebook Messenger bot and connect it to the Watson Conversation service Overview In this lab, you'll create advanced Node-RED flows that: Connect the Watson Conversation service to Facebook
More informationData Visualization (DSC 530/CIS )
Data Visualization (DSC 530/CIS 602-01) Data Dr. David Koop HTML and CSS HTML: Tags define the boundaries of the structures of the content this is cool. What about this?
More informationAbout the Tutorial. Audience. Prerequisites. Copyright and Disclaimer. D3.js
About the Tutorial D3 stands for Data-Driven Documents. D3.js is a JavaScript library for manipulat ing documents based on data. D3.js is a dynamic, interactive, online data visualizations framework used
More information<Insert Picture Here> JavaFX Overview April 2010
JavaFX Overview April 2010 Sébastien Stormacq Sun Microsystems, Northern Europe The following is intended to outline our general product direction. It is intended for information
More informationVarargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript
PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new
More informationTouch Forward. Bill Fisher. #touchfwd. Developing Awesome Cross-Browser Touch
Touch Forward Developing Awesome Cross-Browser Touch Interactions Bill Fisher @fisherwebdev #touchfwd Super F*cking Important yeah, it s important. http://commons.wikimedia.org/wiki/file:071228_human_hands.jpg
More informationCS 4460 Intro. to Information Visualization Sep. 18, 2017 John Stasko
Multivariate Visual Representations 1 CS 4460 Intro. to Information Visualization Sep. 18, 2017 John Stasko Learning Objectives For the following visualization techniques/systems, be able to describe each
More informationLecture Topic Projects 1 Intro, schedule, and logistics 2 Applications of visual analytics, data types 3 Data sources and preparation Project 1 out 4
Lecture Topic Projects 1 Intro, schedule, and logistics 2 Applications of visual analytics, data types 3 Data sources and preparation Project 1 out 4 Data reduction, similarity & distance, data augmentation
More informationITI 1120 Lab #9. Slides by: Diana Inkpen, Alan Williams, Daniel Amyot Some original material by Romelia Plesa
ITI 1120 Lab #9 Slides by: Diana Inkpen, Alan Williams, Daniel Amyot Some original material by Romelia Plesa 1 Objectives Review fundamental concepts Example: the Time class Exercises Modify the Time class
More informationEvaluating the Quality of Multiple-Choice Tests with Automatically Generated Visualizations
Evaluating the Quality of Multiple-Choice Tests with Automatically Generated Visualizations An Application of Scalable Vector Graphics in Medical Education Dennis Toddenroth, Dr. med Thomas Frankewitsch
More informationCSE Data Visualization. Multidimensional Vis. Jeffrey Heer University of Washington
CSE 512 - Data Visualization Multidimensional Vis Jeffrey Heer University of Washington Last Time: Exploratory Data Analysis Exposure, the effective laying open of the data to display the unanticipated,
More informationD3: The Crash Course
D3: The Crash Course Chad Stolper chadstolper@gatech.edu Chad Stolper CSE 6242 Guest Lecture 1 D3: The Early Sticking Points Chad Stolper CSE 6242 Guest Lecture 2 D3: Only the Beginning Chad Stolper CSE
More informationCISC 1600, Lab 3.1: Processing
CISC 1600, Lab 3.1: Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using OpenProcessing, a site for building processing sketches online using processing.js. 1.1. Go to https://www.openprocessing.org/class/57767/
More informationDefinitions. Interfaces. Example. Create a canvas. Setting up the event handlers. Tracking new touches
Intro In order to provide quality support for touch-based user interfaces, touch events offer the ability to interpret finger (or stylus) activity on touch screens or trackpads. The touch events interfaces
More informationFrTime: A Language for Reactive Programs
FrTime: A Language for Reactive Programs Version 7.2.0.12 Greg Cooper April 1, 2019 #lang frtime package: frtime The frtime language supports declarative construction of reactive systems in a syntax very
More informationPackage processanimater
Type Package Package processanimater Title Process Map Token Replay Animation Version 0.3.0 October 5, 2018 Token replay animation for process maps created with 'processmapr' by using SVG animations ('SMIL')
More informationInteractive Data Analysis
domain specific languages for Interactive Data Analysis Jeffrey Heer Stanford University 1 HTML / CSS Table SELECT customer_id, customer_name, COUNT(order_id) as total FROM customers INNER JOIN orders
More informationQMiner is a data analytics platform for processing large-scale real-time streams containing structured and unstructured data.
Data analytics with QMiner This topic provides a practical insights on data analytics using QMiner. QMiner implements a comprehensive set of techniques for supervised, unsupervised and active learning
More informationORACLE DATABASE 12C INTRODUCTION
SECTOR / IT NON-TECHNICAL & CERTIFIED TRAINING COURSE In this training course, you gain the skills to unleash the power and flexibility of Oracle Database 12c, while gaining a solid foundation of database
More informationCREATE SASSY WEB PARTS. Developer Guide to SASS usage in SPFx
CREATE SASSY WEB PARTS Developer Guide to SASS usage in SPFx !!! WARNING!!! YOU WILL SEE SOURCE CODE!!! WARNING!!! OUR GOALS Sketch and develop web parts Create your own reusable CSS Handle external
More informationCSE Data Visualization. Multidimensional Vis. Jeffrey Heer University of Washington
CSE 512 - Data Visualization Multidimensional Vis Jeffrey Heer University of Washington Last Time: Exploratory Data Analysis Exposure, the effective laying open of the data to display the unanticipated,
More informationwho "name": "ShihChi Huang", "work": "mobile Netflix", "meta": github/npm/twitter"
RxJS for f2e who { } "name": "ShihChi Huang", "work": "mobile engineer @ Netflix", "meta": "huang47 @ github/npm/twitter" async is hard sync // value is immediately available function getvaluesync(value)
More informationD3js Guide. D3js Guide
We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer, you have convenient answers with d3js guide. To get started
More informationVisualizing Information with
Visualizing Information with HTML5 @synodinos 35,000 years ago Chauvet cave, southern France By far the oldest paintings ever discovered Hundreds of paintings At least 13 different species Viubk source
More informationA JavaScript Framework for Presentations and Animations on Computer Science
A JavaScript Framework for Presentations and Animations on Computer Science Laszlo Korte Bachelor Thesis Technical Aspects of Multimodal Systems Department of Informatics University of Hamburg 1 / 76 Outline
More informationPASS4TEST 専門 IT 認証試験問題集提供者
PASS4TEST 専門 IT 認証試験問題集提供者 http://www.pass4test.jp 1 年で無料進級することに提供する Exam : 70-480 Title : Programming in HTML5 with JavaScript and CSS3 Vendor : Microsoft Version : DEMO Get Latest & Valid 70-480 Exam's
More informationGIMP WEB 2.0 BUTTONS
GIMP WEB 2.0 BUTTONS Web 2.0 Navigation: Web 2.0 Button with Navigation Arrow GIMP is all about IT (Images and Text) WEB 2.0 NAVIGATION: BUTTONS_WITH_NAVIGATION_ARROW This button navigation will be designed
More informationBioinformatics Resources
Bioinformatics Resources Lecture & Exercises Prof. B. Rost, Dr. L. Richter, J. Reeb Institut für Informatik I12 Slides by D. Nechaev Recap! Why do we even bother with JavaScript?! Because JavaScript allows
More informationOverview of Computer Graphics
Application of Computer Graphics UNIT- 1 Overview of Computer Graphics Computer-Aided Design for engineering and architectural systems etc. Objects maybe displayed in a wireframe outline form. Multi-window
More informationFrom Data to Map in 30 Minutes. Aileen Buckley, PhD
From Data to Map in 30 Minutes Aileen Buckley, PhD This session Crater Lake online map From NPS: https://www.nps.gov/carto/hfc/carto/media/crlamap1.pdf Download Crater Lake map packages here: ArcGIS Pro
More informationTime series in html Canvas
Time series in html Canvas In this tutorial, we will create an html document and use it to animate a time series. html html (Hypertext Markup Language) is used to make web pages. No software is needed
More informationTutorial: How to Build a Custom Panel on Banana
Tutorial: How to Build a Custom Panel on Banana Source: https://github.com/lucidworks/banana/wiki/tutorial:-how-to-build-a-custom-panel In this tutorial, we are going to show you how to build a new custom
More informationTranslating HornlogEq RuleML to Grailog for SVG Visualization. Leah Bidlake RuleML Webinar June 20, 2016
Translating HornlogEq RuleML to Grailog for SVG Visualization Leah Bidlake RuleML Webinar June 20, 2016 Outline 1 Introduction Related Work Objectives Grailog KS Viz 2.0 Architecture Implementation Test
More informationData Visualization (DSC 530/CIS )
Data Visualization (DSC 530/CIS 602-01) JavaScript Dr. David Koop Quiz Given the following HTML, what is the selector for the first div? the super Bowl
More informationOntwikkel Custom Visuals met D3.js
Ontwikkel Custom Visuals met D3.js Arthur Graus Gebruikersdag 2018 Arthur Graus Power BI Trainer Consultant Developer info@arthurgraus.nl http://www.arthurgraus.nl Query PowerQuery DAX DAX Report.PBIX
More informationCS7026 HTML5. Canvas
CS7026 HTML5 Canvas What is the element HTML5 defines the element as a resolution-dependent bitmap canvas which can be used for rendering graphs, game graphics, or other visual images
More informationGrailog KS Viz: A Grailog Visualizer for Datalog RuleML Using an XSLT Translator to SVG
RuleML 2013 7th International Rule Challenge University of Washington, July 11-13 th, 2013, Seattle, WA Martin Koch, Sven Schmidt, Harold Boley, Rainer Herpers Grailog KS Viz: A Grailog Visualizer for
More informationD3: The Crash Course
D3: The Crash Course aka: D3: The Early Sticking Points aka: D3: Only the Beginning Chad Stolper chadstolper@gatech.edu Chad Stolper CSE 6242 Guest Lecture 1 http://bl.ocks.org/mbostock/1256572 Chad Stolper
More informationBASICS OF PIXLR EDITOR
BASICS OF PIXLR EDITOR Pixlr is a website which you can edit your images professionally. It is a cloud cased system and founded in Sweden. It is similar to Photoshop (but it s free to use online) and you
More informationMIDTERM EXAM (Solutions)
MIDTERM EXAM (Solutions) Total Score: 100, Max. Score: 83, Min. Score: 26, Avg. Score: 57.3 1. (10 pts.) List all major categories of programming languages, outline their definitive characteristics and
More informationSAS Visual Analytics 8.2: Working with Report Content
SAS Visual Analytics 8.2: Working with Report Content About Objects After selecting your data source and data items, add one or more objects to display the results. SAS Visual Analytics provides objects
More informationCISC 1600, Lab 3.2: Interactivity in Processing
CISC 1600, Lab 3.2: Interactivity in Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using OpenProcessing, a site for building processing sketches online using processing.js. 1.1.
More informationAdobe Animate Basics
Adobe Animate Basics What is Adobe Animate? Adobe Animate, formerly known as Adobe Flash, is a multimedia authoring and computer animation program. Animate can be used to design vector graphics and animation,
More informationMaurizio Tesconi 24 marzo 2015
Maurizio Tesconi 24 marzo 2015 Raster graphics images Lossy (jpeg, jpeg2000) Lossless (gif, png, >ff, ) Fixed resolu>on Can be very large Original informa>on is lost Difficult to add metadata Difficult
More informationFrontend II: Javascript and DOM Programming. Wednesday, January 7, 15
6.148 Frontend II: Javascript and DOM Programming Let s talk about Javascript :) Why Javascript? Designed in ten days in December 1995! How are they similar? Javascript is to Java as hamster is to ham
More informationGSYS (Graph Suchi Yomitori System)
GSYS (Graph Suchi Yomitori System) 28. Jan. 2005, Koji Arai (1) THIS IS THE SYSTEM IN ORDER TO DIGTIZE THE DATA ON THE FIGURE SUCH AS EXPERIMENTAL DATA ON THE PRINTED MATTER. You can download files from
More informationBlitz: Automating Interaction in Visualization
Blitz: Automating Interaction in Visualization Catherine Mullings Stanford University cmulling@stanford.edu Ben-han Sung Stanford University bsung93@stanford.edu Andrei Terentiev Stanford University andreit1@stanford.edu
More informationPASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year
PASS4TEST \ http://www.pass4test.com We offer free update service for one year Exam : 70-480 Title : Programming in HTML5 with JavaScript and CSS3 Vendor : Microsoft Version : DEMO Get Latest & Valid 70-480
More informationGraphics. HCID 520 User Interface Software & Technology
Graphics HCID 520 User Interface Software & Technology PIXELS! 2D Graphics 2D Raster Graphics Model Drawing canvas with own coordinate system. Origin at top-left, increasing down and right. Graphics
More informationHO-FL1: INTRODUCTION TO FLASH
HO-FL1: INTRODUCTION TO FLASH Introduction Flash is software authoring package for creating scalable, interactive animations (or movies) for inclusion in web pages. It can be used to create animated graphics,
More information