SlideShare a Scribd company logo
Data Designer
D3.js
02 : D3.js 데이터 불러오기
꿈꾸는데이터디자이너
 시즌2오늘의 수업
이론 실습
1. D3.js에서 활용할 수 있는 데이터 종류
2. 데이터 형식 ‘CSV’, ‘JSON’
3. D3.js 데이터 매칭 원리
1. 데이터 불러오기
2. 데이터 문장 만들기
꿈꾸는데이터디자이너
 시즌2d3.js 데이터 종류
D3.js 코드 작성의 시작
외부 데이터 불러오기
꿈꾸는데이터디자이너
 시즌2d3.js 데이터 종류
종류 설명
TSV 데이터가 탭으로 구분된 형식. 헤더있음.
CSV 반점으로 구분한 텍스트. 헤더있음.
JSON JavaScript Object Notation’의 약자. XML과 비교해 간단하고 데이터 용량도 적음. 헤더없음.
HTML 브라우저로 표시했을 때 데이터를 보기 좋게 표시해줌. 다른 데이터와 달리 레이아웃이 있다.
XML 태그를 이용해서 데이터 표현. 범용적인 데이터 포맷. SVG도 XML의 종류 중 하나.
TEXT 순수한 문자로만 구성된 데이터 파일.
꿈꾸는데이터디자이너
 시즌2d3.js 데이터 종류 : CSV
CSV
반점으로 구분한 텍스트
d3.csv()
item1, item2, item3,
120, 60, 300,
60, 50, 80,
300, 30, 90,
80, 10, 150,
헤더
• 그래프 요소에 연동할 때 속성 이름으로 다뤄짐.
• CSV 형식에 헤더가 없으면 별도 처리가 필요하다
• D3.js에서는 첫 줄이 헤더라는 것을 전제
꿈꾸는데이터디자이너
 시즌2d3.js 데이터 종류 : JSON
• JavaScript Object Notation. 자바스크립트 문법을 바탕으로 하는 자료형식
• TSV나 CSV와 달리 헤더는 없다.
• 여러개의 데이터는 []로 감싼다
• 계층구조를 가진 데이터에서 많이 사용.
[  
{“item”  :  “상품A”,  “sales”  :  [150,90,300]},  
{“item”  :  “상품B”,  “sales”  :  [70,920,320]},  
{“item”  :  “상품C”,  “sales”  :  [20,40,360]},  
{“item”  :  “상품D”,  “sales”  :  [50,210,200]},  
{“item”  :  “상품E”,  “sales”  :  [400,610,100]},  
]
d3.json()
ex)
JSON
꿈꾸는데이터디자이너
 시즌2d3.js는 이렇게 생겼다 - d3.js 동작 순서
데이터 불러오기
척도, 축 설정
틀 그리기
축 그리기
요소에 데이터 엮기
요소 속성 설정
1
2
3
4
5
6
d3.csv
d3.scale()  
.domain()  
.range();
d3.svg.axis()  
.scale()  
.orient;
d3.select()  
.append()  
.attr(“width”)  
.attr(“height”);
svg.append(“g”)  
.attr(“transform”)  
.call(xAxis);
svg.selectAll(“”)  
.data()  
.enter()  
.append(“”)’;
.attr(“”);
꿈꾸는데이터디자이너
 시즌2
실습
꿈꾸는데이터디자이너
 시즌2d3.js 설정하기
http://d3js.org
d3.js 연동방법
1. 코드 파일 다운로드 후 사용
2. 코드 서버 링크 추가해 사용
꿈꾸는데이터디자이너
 시즌2d3.js 설정하기
index.html
서버가 기본으로 인식하는 html
여러 파일 중 ‘index.html’ 파일이 있으면 가장 먼저 인식해서 보여줌
Tip index.html
Tip 파일경로 설정
A
a
d3.html
같은폴더
d3_2.html
d3_3.html
하위폴더 상위폴더
1. 같은 폴더 내에 있을 때
2. 하위폴더에 있을 때
3. 상위폴더에 있을 때
파일명 . 확장자
폴더명 / 파일명 . 확장자
.. / 파일명 . 확장자
꿈꾸는데이터디자이너
 시즌2주의사항
D3.js 코드 쓰는 법은 사람마다 조금씩 다르다
꿈꾸는데이터디자이너
 시즌21주차 복습 : 로컬호스트 설정
[ Window ]
5. 명령창이 뜨면 아래의 명령어 입력
※ 대소문자/띄어쓰기 구분!
python  -­‐m  http.server  8888  V V VV
입력하면 위와 같은 문구가 등장
꿈꾸는데이터디자이너
 시즌21주차 복습 : 로컬호스트 설정
[ Mac ]
python  -­‐m  SimpleHTTPServer  8888
※ 대소문자/띄어쓰기 구분!
V V V
‘터미널’
여기에 입력하세요
꿈꾸는데이터디자이너
 시즌21주차 복습 : 로컬호스트 설정
localhost:8888
명령어 입력 후 인터넷 브라우저 주소창에 아래 문장을 입력하면 로컬호스트 접속 완료

More Related Content

PDF
[Week13] D3.js_Bar Chart
PDF
[week12] D3.js_Basic
PDF
꿈데디 D3.js강의 2주차
PDF
[week17] D3.js_Tooltip
PDF
[week16] D3.js (Scale & axis)
PDF
[week14] Getting started with D3.js
PPTX
D3.js
PDF
[Week14] D3.js_Scale and Axis
[Week13] D3.js_Bar Chart
[week12] D3.js_Basic
꿈데디 D3.js강의 2주차
[week17] D3.js_Tooltip
[week16] D3.js (Scale & axis)
[week14] Getting started with D3.js
D3.js
[Week14] D3.js_Scale and Axis

What's hot (20)

PDF
[Week14] D3.js_Scale and Axis (보충자료)
PDF
[Week8]R_ggplot2
PDF
[week16] D3.js_Transition
PDF
[Week15] D3.js_Scatter_Chart
PPTX
[ 하코사세미나] 의외로 쉬운 D3 그래프 퍼블리싱
PDF
[week6]R_Wrangling
PDF
[week11] R_ggmap, leaflet
PDF
꿈데디 D3.js강의 6주차
PPTX
R intro
PDF
[시즌2, week3] R Basic
PDF
R_datamining
PDF
5장 객체와클래스
PDF
R 스터디 네번째
PDF
R 기초 : R Basics
PPTX
엘라스틱서치 이해하기 20160613
PDF
R 스터디 첫번째
PDF
Python
PPTX
엘라스틱서치 이해하기 20160612
PDF
Power bi
PPTX
R 기초 II
[Week14] D3.js_Scale and Axis (보충자료)
[Week8]R_ggplot2
[week16] D3.js_Transition
[Week15] D3.js_Scatter_Chart
[ 하코사세미나] 의외로 쉬운 D3 그래프 퍼블리싱
[week6]R_Wrangling
[week11] R_ggmap, leaflet
꿈데디 D3.js강의 6주차
R intro
[시즌2, week3] R Basic
R_datamining
5장 객체와클래스
R 스터디 네번째
R 기초 : R Basics
엘라스틱서치 이해하기 20160613
R 스터디 첫번째
Python
엘라스틱서치 이해하기 20160612
Power bi
R 기초 II
Ad

Viewers also liked (17)

PDF
디포커스 전홍구
PDF
빅데이터 분석 시각화 분석 : 3장 시각화 방법
PDF
[문디 10주차] d3.js 상호작용
PPTX
블로터아카데미_타블로퍼블릭이란(뉴스젤리)
PDF
꿈꾸는 데이터 디자이너 시즌2 교육설명회
PPT
Trade me goods1
PDF
Social Innovation Spark
PPTX
Bootstrap docs pack 설치설명서
PPTX
Bootstrap starter pack on kimsQ 설치설명서
PDF
엔터프라이즈 웹애플리케이션 솔루션 Sencha ExtJS 5
PDF
SK플래닛 M&C부문 D-spark #1 Intro & New Digital
PDF
[북리뷰] 데이터포인트 4장
PDF
[Week20] D3.js_Mapping
PDF
Raphael.js로 SVG 차트 만들기
PDF
데이터분석과 저널리즘 5장(뒷부분)
PDF
[HeXathon] 발표자료 - 세모알
PDF
Spark_Overview_qna
디포커스 전홍구
빅데이터 분석 시각화 분석 : 3장 시각화 방법
[문디 10주차] d3.js 상호작용
블로터아카데미_타블로퍼블릭이란(뉴스젤리)
꿈꾸는 데이터 디자이너 시즌2 교육설명회
Trade me goods1
Social Innovation Spark
Bootstrap docs pack 설치설명서
Bootstrap starter pack on kimsQ 설치설명서
엔터프라이즈 웹애플리케이션 솔루션 Sencha ExtJS 5
SK플래닛 M&C부문 D-spark #1 Intro & New Digital
[북리뷰] 데이터포인트 4장
[Week20] D3.js_Mapping
Raphael.js로 SVG 차트 만들기
데이터분석과 저널리즘 5장(뒷부분)
[HeXathon] 발표자료 - 세모알
Spark_Overview_qna
Ad

More from neuroassociates (15)

PDF
Bloter 넥스트 저널리즘 스쿨 강의자료
PDF
[week8] 데이터읽어주는남자
PDF
[week7] 데이터읽어주는남자
PDF
[week6] 데이터읽어주는남자
PDF
[week9]R_statics
PDF
[week7]R_Wrangling(2)
PDF
[Week5]데이터읽어주는남자
PDF
[Week5]R_scraping
PDF
[Week4]데이터읽어주는남자
PDF
[Week4] Google refine
PDF
[Week3]데이터읽어주는남자
PDF
[Week2]데이터읽어주는남자
PDF
꿈꾸는 데이터 디자이너 시즌2 교육 설명회 2부
PDF
꿈꾸는 데이터 디자이너 1기를 끝내며
PDF
[Week10] R graphics
Bloter 넥스트 저널리즘 스쿨 강의자료
[week8] 데이터읽어주는남자
[week7] 데이터읽어주는남자
[week6] 데이터읽어주는남자
[week9]R_statics
[week7]R_Wrangling(2)
[Week5]데이터읽어주는남자
[Week5]R_scraping
[Week4]데이터읽어주는남자
[Week4] Google refine
[Week3]데이터읽어주는남자
[Week2]데이터읽어주는남자
꿈꾸는 데이터 디자이너 시즌2 교육 설명회 2부
꿈꾸는 데이터 디자이너 1기를 끝내며
[Week10] R graphics

[Week12] D3.js_Basic2