SlideShare a Scribd company logo
1 of 16
Download to read offline
Chapter 6.
Drawing with Data
Min Jeong Cho
d3.js의 고전 of 고전
Bar Chart로 복습해보자
왜냐면… 스캐터플롯이 귀찮아서….
start.html 파일 열기
width
height
(x, y)
(0, 0)
x
y
바 차트 그리기 전 반드시 기억해야 할 4가지 속성
합쳐져 있는 네모들을 예쁜 간격으로 나열해보기
1. x좌표 세우기
.attr("x", function(d, i) {
return i * 21; // 21씩 띄우기
.attr("x", function(d, i) {
return i * (w / dataset.length);
})
첫 번째 방법
두 번째 방법
1. x좌표 세우기
합쳐져 있는 네모들을 예쁜 간격으로 나열해보기
(0, 0)
i = 0 i = 1 i = 2
…
[ 원리 ] return i * (w / dataset.length);
데이터 개수에 비례한 가로 간격 만들기
2. width(가로) 모양 만들기
//Width and height
var w = 500;
var h = 100;
var barPadding = 1; // 사이사이 넣을 공간
.attr("width", w / dataset.length - barPadding)
데이터 개수에 비례한 가로 간격 만들기
2. width(가로) 모양 만들기
[ 원리 ]
전체 너비
varPadding
데이터 개수
고무고무 그래프!
3. height(세로) 모양 만들기
.attr("height", function(d) {
return d;
});
.attr("height", function(d) {
return d * 숫자 // 고무고무 그래프!!
});
고무고무 그래프!
3. height(세로) 모양 만들기
다들 알 거 같아서 생략ㅎㅎ
[ 원리 ]
SVG 설계의 한 가지 오점
4. y축 고정시키기
//y축
.attr(“y”, function(d) {
return h - d; // 높이에서 데이터 값 빼기
})
SVG 설계의 한 가지 오점
4. y축 고정시키기
d
d
h
[ 원리 ]
그냥 내 취향 그래프 색깔 만들기
5. 색깔 입히기
.attr("fill", function(d) {
return "rgba(0, 0, 0,” + (d * 0.05) +“)”;
});
원하는 색상 번호 넣기 투명도
핵무난 + 내취향 그래프 색깔 만들기
5. 색깔 입히기
http://www.colorpicker.com/
http://www.december.com/html/spec/colorsvg.html
SVG의 못생긴 색이 짜증났다…. 아래 사이트 참조!!
6. 텍스트 위치시키기
앞서 rec를 이해했다면 식은 죽 먹기!
Done!

More Related Content

What's hot

[week11] R_ggmap, leaflet
[week11] R_ggmap, leaflet[week11] R_ggmap, leaflet
[week11] R_ggmap, leafletneuroassociates
 
[Week14] D3.js_Scale and Axis
[Week14] D3.js_Scale and Axis[Week14] D3.js_Scale and Axis
[Week14] D3.js_Scale and Axisneuroassociates
 
[Week15] D3.js_Scatter_Chart
[Week15] D3.js_Scatter_Chart[Week15] D3.js_Scatter_Chart
[Week15] D3.js_Scatter_Chartneuroassociates
 
G+ Summer C Study 20130717(7일차)
G+ Summer C Study 20130717(7일차)G+ Summer C Study 20130717(7일차)
G+ Summer C Study 20130717(7일차)Jake Yoon
 
Scala스터디 - 배열사용하기
Scala스터디 - 배열사용하기Scala스터디 - 배열사용하기
Scala스터디 - 배열사용하기창규 김
 
2017 cupc solution
2017 cupc solution2017 cupc solution
2017 cupc solutionJoona Yoon
 
2021 1학기 정기 세미나 6주차
2021 1학기 정기 세미나 6주차2021 1학기 정기 세미나 6주차
2021 1학기 정기 세미나 6주차Moonki Choi
 
2021 여름방학 정기 세미나 3주차
2021 여름방학 정기 세미나 3주차2021 여름방학 정기 세미나 3주차
2021 여름방학 정기 세미나 3주차Moonki Choi
 
ALS WS에 대한 이해 자료
ALS WS에 대한 이해 자료ALS WS에 대한 이해 자료
ALS WS에 대한 이해 자료beom kyun choi
 
3 qgis visualization
3 qgis visualization3 qgis visualization
3 qgis visualizationJoonho Lee
 
[week16] D3.js_Transition
[week16] D3.js_Transition[week16] D3.js_Transition
[week16] D3.js_Transitionneuroassociates
 
해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3Haesun Park
 
[week14] Getting started with D3.js
[week14] Getting started with D3.js[week14] Getting started with D3.js
[week14] Getting started with D3.jsneuroassociates
 
실내 환경 청정도 유지를 위한 측정 및 경보장치 제작(인천대학교)
실내 환경 청정도 유지를 위한 측정 및 경보장치 제작(인천대학교) 실내 환경 청정도 유지를 위한 측정 및 경보장치 제작(인천대학교)
실내 환경 청정도 유지를 위한 측정 및 경보장치 제작(인천대학교) 현아 김
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners홍배 김
 
Ds4 artist week_13
Ds4 artist week_13Ds4 artist week_13
Ds4 artist week_13SeungBum Kim
 
TestSDS2018-1(answer)
TestSDS2018-1(answer)TestSDS2018-1(answer)
TestSDS2018-1(answer)Yong Heui Cho
 

What's hot (19)

[week11] R_ggmap, leaflet
[week11] R_ggmap, leaflet[week11] R_ggmap, leaflet
[week11] R_ggmap, leaflet
 
[Week14] D3.js_Scale and Axis
[Week14] D3.js_Scale and Axis[Week14] D3.js_Scale and Axis
[Week14] D3.js_Scale and Axis
 
[Week12] D3.js_Basic2
[Week12] D3.js_Basic2[Week12] D3.js_Basic2
[Week12] D3.js_Basic2
 
[Week15] D3.js_Scatter_Chart
[Week15] D3.js_Scatter_Chart[Week15] D3.js_Scatter_Chart
[Week15] D3.js_Scatter_Chart
 
G+ Summer C Study 20130717(7일차)
G+ Summer C Study 20130717(7일차)G+ Summer C Study 20130717(7일차)
G+ Summer C Study 20130717(7일차)
 
Scala스터디 - 배열사용하기
Scala스터디 - 배열사용하기Scala스터디 - 배열사용하기
Scala스터디 - 배열사용하기
 
2017 cupc solution
2017 cupc solution2017 cupc solution
2017 cupc solution
 
2021 1학기 정기 세미나 6주차
2021 1학기 정기 세미나 6주차2021 1학기 정기 세미나 6주차
2021 1학기 정기 세미나 6주차
 
[week6]R_Wrangling
[week6]R_Wrangling[week6]R_Wrangling
[week6]R_Wrangling
 
2021 여름방학 정기 세미나 3주차
2021 여름방학 정기 세미나 3주차2021 여름방학 정기 세미나 3주차
2021 여름방학 정기 세미나 3주차
 
ALS WS에 대한 이해 자료
ALS WS에 대한 이해 자료ALS WS에 대한 이해 자료
ALS WS에 대한 이해 자료
 
3 qgis visualization
3 qgis visualization3 qgis visualization
3 qgis visualization
 
[week16] D3.js_Transition
[week16] D3.js_Transition[week16] D3.js_Transition
[week16] D3.js_Transition
 
해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3
 
[week14] Getting started with D3.js
[week14] Getting started with D3.js[week14] Getting started with D3.js
[week14] Getting started with D3.js
 
실내 환경 청정도 유지를 위한 측정 및 경보장치 제작(인천대학교)
실내 환경 청정도 유지를 위한 측정 및 경보장치 제작(인천대학교) 실내 환경 청정도 유지를 위한 측정 및 경보장치 제작(인천대학교)
실내 환경 청정도 유지를 위한 측정 및 경보장치 제작(인천대학교)
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners
 
Ds4 artist week_13
Ds4 artist week_13Ds4 artist week_13
Ds4 artist week_13
 
TestSDS2018-1(answer)
TestSDS2018-1(answer)TestSDS2018-1(answer)
TestSDS2018-1(answer)
 

Viewers also liked

문디 14주차 발제 scatter plot
문디 14주차 발제 scatter plot문디 14주차 발제 scatter plot
문디 14주차 발제 scatter plotMin Jeong Cho
 
[문디 10주차] d3.js 상호작용
[문디 10주차] d3.js  상호작용[문디 10주차] d3.js  상호작용
[문디 10주차] d3.js 상호작용YooDuck Hwang
 
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기복연 이
 
꿈꾸는 데이터 디자이너 1기를 끝내며
꿈꾸는 데이터 디자이너 1기를 끝내며꿈꾸는 데이터 디자이너 1기를 끝내며
꿈꾸는 데이터 디자이너 1기를 끝내며neuroassociates
 
제2회 hello world 오픈세미나 hello world-raphael차트
제2회 hello world 오픈세미나 hello world-raphael차트제2회 hello world 오픈세미나 hello world-raphael차트
제2회 hello world 오픈세미나 hello world-raphael차트NAVER D2
 
P 회사소개서
P 회사소개서P 회사소개서
P 회사소개서Gorae Ahn
 
JavaScript MEAN 스택
JavaScript MEAN 스택JavaScript MEAN 스택
JavaScript MEAN 스택Tai Hoon KIM
 

Viewers also liked (9)

D3.js
D3.jsD3.js
D3.js
 
문디 14주차 발제 scatter plot
문디 14주차 발제 scatter plot문디 14주차 발제 scatter plot
문디 14주차 발제 scatter plot
 
[문디 10주차] d3.js 상호작용
[문디 10주차] d3.js  상호작용[문디 10주차] d3.js  상호작용
[문디 10주차] d3.js 상호작용
 
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
 
꿈꾸는 데이터 디자이너 1기를 끝내며
꿈꾸는 데이터 디자이너 1기를 끝내며꿈꾸는 데이터 디자이너 1기를 끝내며
꿈꾸는 데이터 디자이너 1기를 끝내며
 
제2회 hello world 오픈세미나 hello world-raphael차트
제2회 hello world 오픈세미나 hello world-raphael차트제2회 hello world 오픈세미나 hello world-raphael차트
제2회 hello world 오픈세미나 hello world-raphael차트
 
P 회사소개서
P 회사소개서P 회사소개서
P 회사소개서
 
JavaScript MEAN 스택
JavaScript MEAN 스택JavaScript MEAN 스택
JavaScript MEAN 스택
 
D3.js workshop
D3.js workshopD3.js workshop
D3.js workshop
 

Drawing with data