Visualization and Data Mapping
Class Mathematics Korean English Science
Score 80 90 60 50
barplot(
c(80 , 90 , 60 , 70 ),
names.arg = c(" Mathematics" , " Korean" , " English" , " Science" ),
col = rainbow(4 ),
ylim = c(0 , 100 )
)
데이터(변수)를 눈에 보이는 요소에 연결 시키는 일
위 표에서 우리가 가진 변수
과목(Class) : Nominal
점수(Score) : Ratio
Class => bar or bar.name
Score => bar.height
Data.Class => bar.name
Data.Class => bar.color (Duplication!)
Data.Score => bar.height
barplot(
# Date.Score => bar.height
c(80 , 90 , 60 , 70 ),
# Data.Class => bar.name
names.arg = c(" Mathematics" , " Korean" , " English" , " Science" ),
# Data.Class => bar.color
col = rainbow(4 ),
# Y-axis range
ylim = c(0 , 100 )
)
barplot(
# Date.Score => bar.height
c(80 , 90 , 60 , 70 ),
# Data.Class => bar.name
names.arg = c(" Mathematics" , " Korean" , " English" , " Science" ),
# Y-axis range
ylim = c(0 , 100 )
)
Class Korean English Physics Biology Chemisry
Category Language Language Science Science Science
Score 90 85 70 75 60
Data.Class => bar.name
Data.Category => bar.color
Data.Score => bar.height
barplot(
# Date.Score => bar.height
c(90 , 85 , 70 , 75 , 60 ),
# Data.Class => bar.name
names.arg = c(" Korean" , " English" , " Physics" , " Biology" , " Chemistry" ),
# Data.Category => Color
col = c(" gold" , " gold" , " azure" , " azure" , " azure" )
# Y-axis range
ylim = c(0 , 100 )
)
Hadley Wickham
그래프를 그리기 위한 R 패키지
R에서 가장 많이 쓰이는 패키지
# ggplot2 패키지 설치
install.packages(' ggplot2' )
# ggplot2 패키지 로드
library(ggplot2 )
Leland Wilkinson
ggplot2는 이 책의 이론에 기반
ggplot2 gg는 The grammar of graphics의 줄임말
data_class =
c(" Korean" , " English" , " Physics" , " Biology" , " Chemistry" )
data_score =
c(90 , 85 , 70 , 75 , 60 )
data_category =
c(" language" , " language" , " science" , " science" , " science" )
score_data = data.frame (
class = data_class ,
category = data_category ,
score = data_score
)
# 평가
class category score
1 Korean language 90
2 English language 85
3 Physics science 70
4 Biology science 75
5 Chemistry science 60
# 그래프 시작, 데이터 지정
bargraph = ggplot(score_data ) +
# 그래프 종류 지정
geom_bar() +
# 데이터와 시각적 요소의 맵핑 1
# Data.Class => bar.name
aes(x = class ) +
# 데이터와 시각적 요소의 맵핑 2
# Data.Score => bar.height
aes(y = score ) +
# Y축 범위 지정
ylim(0 , 100 )
Mapping Category Data To Color
# 그래프 시작, 데이터 지정
bargraph = ggplot(score_data ) +
# 그래프 종류 지정
geom_bar() +
# 데이터와 시각적 요소의 맵핑 1
# Data.Class => bar.name
aes(x = factor (class )) +
# 데이터와 시각적 요소의 맵핑 2
# Data.Score => bar.height
aes(y = score ) +
# 데이터와 시각적 요소의 맵핑 3
# Data.Category => bar.color
aes(fill = category ) +
# Y축 범위 지정
ylim(0 , 100 )
# 그래프 시작, 데이터 지정
bargraph = ggplot(score_data ) +
# 그래프 종류 지정
geom_bar() +
# 데이터와 시각적 요소의 맵핑 1
# Data.Class => bar.name
aes(x = class ) +
# 데이터와 시각적 요소의 맵핑 2
# Data.Score => bar.height
aes(y = score ) +
# 데이터와 시각적 요소의 맵핑 3
# Data.Category => bar.color
aes(fill = category ) +
# 좌표계 지정
coord_flip() +
# Y축 범위 지정
ylim(0 , 100 )
Variables
Algebra
Scales
Statistics
Geometry
Coordinates
Aesthetics
Process
Variables
Algebra
Scales
Statistics
Geometry
Coordinates
Aesthetics
Who
Science
Programmer
Designer
Two variables
Three variables
Prof. Hans Rosling
XY space is not 2 demention in visualization
X
Y
Color
Size
Interaction
…
2008
2013
2013