Lab7

Similar documents
Lab10

Orcad Capture 9.x

일반인을 위한 전자책 제작 방법

Week3

쉽게 풀어쓴 C 프로그래밍

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

# E-....b61.)

CAD 화면상에 동그란 원형 도형이 생성되었습니다. 화면상에 나타난 원형은 반지름 500인 도형입니다. 하지만 반지름이 500이라는 것은 작도자만 알고 있는 사실입니다. 반지름이 500이라는 것을 클라이언트와 작업자들에게 알려주기 위 해서는 반드시 치수가 필요하겠죠?

PowerPoint 프레젠테이션

1

2002년 2학기 자료구조

chap8.PDF

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

ENEX PRODUCT CONTENTS Designed to resemble a nature Prime Series Standard Series Classy (White & Indigo) New Classy (White & Kha

데이터 시각화

Jwplayer 요즘 웹에서 동영상 재생을 목적으로 많이 쓰이는 jwplayer의 설치와 사용하기 입니다. jwplayer홈페이지 : 위의 홈페이지에 가시면 JWplayer를 다운 받으실 수 있습니다. 현재 5.1버전

04_오픈지엘API.key

Week8-Extra

11강-힙정렬.ppt

Smart Power Scope Release Informations.pages

±¹¹ÎÀºÇà-¸ñÂ÷Ãâ·Â¿Ï¼º

웹개발을위한 ComponentOne 사용법 (2) 권대건 부산대학교컴퓨터공학과 Abstract 최근웹개발이활성화되면서전문가를위한여러가지 Tool 웹애플리케이션형태로제공하는경우가늘고있다. ComponentOne 은.NET 기반의 UI C

MAX+plus II Getting Started - 무작정따라하기


untitled

Lab1

UI피피티

확률 및 분포

LCD Display

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

Week6

<4D F736F F D C1A6BEC8BCAD20C0DBBCBAB0FA20C7C1B8AEC1A8C5D7C0CCBCC720B1E2B9FD2E646F63>

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

ARMBOOT 1

Building Mobile AR Web Applications in HTML5 - Google IO 2012

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

2011년 10월 초판 c 2011 Sony Corporation. All rights reserved. 서면 허가 없이 전체 또는 일부를 복제하는 것을 금합니다. 기능 및 규격은 통보 없이 변경될 수 있습니다. Sony와 Sony 로고는 Sony의 상표입니다. G L

Remote UI Guide

untitled

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

CONTENTS INTRODUCTION CHARE COUPLED DEVICE(CCD) CMOS IMAE SENSOR(CIS) PIXEL STRUCTURE CONSIDERIN ISSUES SINAL PROCESSIN

Ÿ column-rule 속성은단사이의구분선을표현하기위한속성으로 column-rule-color, column-rule-style, column-rule-width 속성을한번에지정할수있다. 1.4 단의확장 Ÿ column-span 속성은다단을구성할때해당요소가얼마나많은단

Modern Javascript

TViX_Kor.doc

Solaris Express Developer Edition

Microsoft Word - KSR2012A021.doc

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

리포트_23.PDF

쉽게 풀어쓴 C 프로그래밍

The_IDA_Pro_Book


HTML5

Syrup Store O2O Marketing Platform/Solution

Chapter 4. LISTS

B _01_M_Korea.indb

untitled

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

PowerPoint Presentation

프로덕트 아이덴티티의 유형별 특성에 관한 연구

untitled

산선생의 집입니다. 환영해요

슬라이드 제목 없음

광덕산 레이더 자료를 이용한 강원중북부 내륙지방의 강수특성 연구

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

Manufacturing6

Microsoft Word - FunctionCall

step 1-1

슬라이드 1

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

playnode.key

untitled

소프트웨어개발방법론

untitled

Chap 6: Graphs

자연언어처리

++11월 소비자리포트-수정

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

e-비즈니스 전략 수립

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

hd1300_k_v1r2_Final_.PDF


Week5

1508 고려 카달록

자바 프로그래밍

Vertical Probe Card Technology Pin Technology 1) Probe Pin Testable Pitch:03 (Matrix) Minimum Pin Length:2.67 High Speed Test Application:Test Socket

Prototype에서 jQuery로 옮겨타기

5.스택(강의자료).key

B _02_M_Ko.indd

歯coolingtower개요_1_.PDF

ez-md+_manual01

chap01_time_complexity.key

歯Intro_alt_han_s.PDF

Promise for Safe & Comfortable Driving

untitled

2

<C1A4C3A5B8DEB8F05FC1A C8A35FB0F8B0F8B5A5C0CCC5CD20B0B3B9E6B0FA20B0ADBFF8B5B52E687770>

Transcription:

Lab 7: Pie Chart & Line Graph 2015 Fall human-computer interaction + design lab. Joonhwan Lee

Pie Chart

d3.js d3.js bundle chord pack cluster force histogram 3

d3.js Layout Bundle - apply Holten's hierarchical bundling algorithm to edges. Chord - produce a chord diagram from a matrix of relationships. Cluster - cluster entities into a dendrogram. Force - position linked nodes using physical simulation. Hierarchy - derive a custom hierarchical layout implementation. Histogram - compute the distribution of data using quantized bins. 4

d3.js Layout Pack - produce a hierarchical layout using recursive circle-packing. Partition - recursively partition a node tree into a sunburst or icicle. Pie - compute the start and end angles for arcs in a pie or donut chart. Stack - compute the baseline for each series in a stacked bar or area chart. Tree - position a tree of nodes tidily. Treemap - use recursive spatial subdivision to display a tree of nodes. 5

Lab 1: Simple Pie Graph Step1: Pie var pie = d3.layout.pie() Step2: var arc = d3.svg.arc().innerradius(0).outerradius(100) 6

Lab 1: Simple Pie Graph Step3: Pie chart var pieelements = d3.select("#mygraph").selectall("path").data(pie(dataset)).enter() Step4: pieelements.append("path").attr("class", "pie").attr("d", arc) // arc.attr("transform", "translate(" + svgwidth/2 + ", " + svgheight/2 + ")") 7

Lab 2: Color Step1:, Option1: array style.style("fill", function(d, i) { return ["red", "orange", "yellow", "cyan", "#3f3"][i] }) Option2: d3 var color = d3.scale.category10()....style("fill", function(d, i) { return color(i) }) 8

Lab 2: Color Step2: CSS pie.pie { stroke: white ; stroke-width: 1px; } 9

Lab 2: Color Categorical Colors https://github.com/mbostock/d3/wiki/ordinal- Scales#categorical-colors ColorBrewer https://github.com/mbostock/d3/wiki/ordinal- Scales#colorbrewer 10

Lab 2: Color Adobe Kuler https://color.adobe.com/ 11

Lab 3: Animation animation bar transition(), duration() delay(), bar width height pie chart.attrtween() 12

Lab 3: Animation Step 1: //.attr("d", arc) Step 2:.transition().duration(1000).delay(function(d, i) { return i * 1000 }) 13

Lab 3: Animation Step 3:.attrTween arc.attrtween("d", function(d, i) { var interpolate = d3.interpolate( { startangle: d.startangle, endangle: d.startangle }, { startangle: d.startangle, endangle: d.endangle } ) return function(t) { }) return arc(interpolate(t) )} 14

Lab 3: Animation Step 4: var pie = d3.layout.pie().sort(null) 15

Lab 3-1: Ease function in Animation animation arc. 5. easing-in & easing-out d3 default easing function: cubic-in-out cubic-in-out 16

Lab 3-1: Ease function in Animation d3.js ease easing-in & easing-out https://github.com/d3/d3-ease linear bounce 17

Lab 3-1: Ease function in Animation.ease("linear") ( ).ease("bounce"). 18

Lab 4: 1 Pie chart pie chart, Step 1: Pie chart var arc = d3.svg.arc().innerradius(50).outerradius(100) 19

Lab 4: 1 Step2: text text enter() data(). d3.sum(). var textelements = d3.select("#mygraph").append("text").attr("class", "total").attr("transform", "translate(" + svgwidth/2 + ", " + svgheight/2 + ")").text("total: " + d3.sum(dataset)) 20

Lab 4: 1 Step3:.total { font: 10pt "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif; } text-anchor: middle; 21

Lab 5: 2 g, g Step1: g, path g var pieelements = d3.select("#mygraph").selectall("g").data(pie(dataset)).enter().append("g").attr("transform", "translate(" + svgwidth/2 + ", " + svgheight/2 + ")") 22

Lab 5: 2 Step2: arc pieelements.append("text")// text.attr("class", "pienum").attr("transform", function(d, i){ return "translate(" + arc.centroid(d) + ")" }).text(function(d, i){ return d.value; // }) 23

Lab 5: 2 centroid() ( ) arc.centroid() rect.centroid() 24

Lab 5: 2 Step3:.pieNum { font: bold 9pt "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif; text-anchor: middle; } Step3-1:? pleelements....text(function(d, i){ return datalabel[i] }) 25

Lab 6: 2008~2014 pull-down menu Step1: d3.csv("data/mydata2008.csv", function(error, data) Step2: for(var i = 0; i < data.length; i++) { dataset.push(data[i].share) datalabel.push(data[i].carrier) } 26

Lab 6-1: Step1: d3 function drawpie(filename) { }. drawpie("data/mydata2008.csv"). drawpie(). 27

Lab 6-1: Step1 (cont.): drawpie("data/mydata2009.csv") function drawpie(filename) { d3.csv(filename, function(error, data){... 28

Lab 6-1: Step2: HTML <form> <select id="year"> <option value="2008">2008 </option> <option value="2009">2009 </option> <option value="2010">2010 </option> <option value="2011">2011 </option> <option value="2012">2012 </option> <option value="2013">2013 </option> <option value="2014">2014 </option> </select> </form> 29

Lab 6-1: Step2: HTML <form> <select id="year"> <option value="2008">2008 </option> <option value="2009">2009 </option> <option value="2010">2010 </option> <option value="2011">2011 </option> <option value="2012">2012 </option> <option value="2013">2013 </option> <option value="2014">2014 </option> </select> </form> 29

Lab 6-1: Step3: d3.select("#year").on("change", function() { d3.select("#mygraph").selectall("*").remove() drawpie("data/mydata" + this.value + ".csv", this.value) }) 30

Line Graph

Line Graph Pie chart layout SVG path line graph 32

Line Graph d3.svg.line() x() y() line = d3.svg.line().x( ).y( ) line path.append("path").attr("d", line(data)) 33

Line Graph Interpolation line = d3.svg.line().x( ).y( ).interpolate("linear") linear http://bl.ocks.org/mbostock/4342190 basis 34

Lab 7: Line Graph http://bl.ocks.org/mbostock/3883245 Step1: margin, offset var margin = { top: 20, right: 20, bottom: 30, left: 50 } var width = 960 - margin.left - margin.right var height = 500 - margin.top - margin.bottom var svg = d3.select("body").append("svg").attr("width", width + margin.left + margin.right).attr("height", height + margin.top + margin.bottom).append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")") 35

Lab 7: Line Graph Step2: Data Loading var parsedate = d3.time.format("%d-%b- %y").parse... d3.tsv("data/mydata.tsv", function(error, data) { data.foreach(function(d) { d.date = parsedate(d.date) d.close = +d.close console.log(d.date) })... }) 36

Lab 7: Line Graph Step2: Data Loading var parsedate = d3.time.format("%d-%b- %y").parse... d3.tsv("data/mydata.tsv", function(error, data) { date data.foreach(function(d) { d.date = parsedate(d.date) d.close = +d.close console.log(d.date) })... }) int => parseint() 36

Lab 7: Line Graph Step3: d3.svg.line() var line = d3.svg.line().x(function(d) { return x(d.date) }).y(function(d) { return y(d.close) })... d3.tsv(...) { svg.append("path").datum(data).attr("class", "line").attr("d", line) 37

Lab 7: Line Graph Step3: d3.svg.line() var line = d3.svg.line().x(function(d) { return x(d.date) }).y(function(d) { return y(d.close) })... d3.tsv(...) { line svg.append("path").datum(data).attr("class", "line").attr("d", line) 37

Lab 7: Line Graph Step4: x, y var x = d3.time.scale().range([0, width]) var y = d3.scale.linear().range([height, 0]) var xaxis = d3.svg.axis().scale(x).orient("bottom") var yaxis = d3.svg.axis().scale(y).orient("left") d3.tsv(...) { x.domain(d3.extent(data, function(d) { return d.date })) y.domain(d3.extent(data, function(d) { return d.close })) 38

Lab 7: Line Graph Step4: x, y domain range var x = d3.time.scale().range([0, width]) var y = d3.scale.linear().range([height, 0]) var domain xaxis = range d3.svg.axis().scale(x).orient("bottom") linear var yaxis = d3.svg.axis().scale(y).orient("left") d3.tsv(...) { x.domain(d3.extent(data, function(d) { return d.date })) y.domain(d3.extent(data, function(d) { return d.close })) date range / 38

Lab 7: Line Graph Step5: svg.append("g").attr("class", "x axis").attr("transform", "translate(0," + height + ")").call(xaxis) svg.append("g").attr("class", "y axis").call(yaxis) 39

Lab 7: Line Graph Step5 (cont.): svg.append("g").attr("class", "y axis").call(yaxis).append("text").attr("transform", "rotate(-90)").attr("y", 6).attr("dy", ".71em").style("text-anchor", "end").text("price ($)") 40

Lab 7: Line Graph Step6: CSS Styling.axis path,.axis line { fill: none; stroke: #000; shape-rendering: crispedges; }.x.axis path { stroke: #000; }.line { fill: none; stroke: steelblue; stroke-width: 1px; } 41

Assignment 4: Pie Chart + Line Graph : 11/1 ( )

Assignment 4: Pie Chart + Line Graph : http://115.84.165.91/jsp/wws7/wwsds7100.jsp? re_stc_cd=10754&re_lang=kor 43

Assignment 4: Pie Chart + Line Graph : (11/1) firstname html index.html, ( : x) zip 44

Assignment 4: Pie Chart + Line Graph Pie and Line Chart: http://codepen.io/stefanjudis/pen/ gkhwj Life Expectancy: http://projects.flowingdata.com/lifeexpectancy/ 60 Years of French First Names: http://dataaddict.fr/ prenoms/ Dashboard: http://bl.ocks.org/npashap/ 96447623ef4d342ee09b Pie charts labels: http://bl.ocks.org/dbuezas/9306799 Multi-Series Line Chart: http://bl.ocks.org/mbostock/ 3884955 X-Value Mouseover: http://bl.ocks.org/mbostock/ 3902569 45

Questions...?