R:ggplot2(그래프그리기): 두 판 사이의 차이
(새 문서: {{R}} ==ggplot2== R과 Python에서 그래프를 그려주는 패키지. {| class="wikitable" !단계 !방법 !사용법 |- |패키지 부착 |패키지 부착은 <code>library(ggplo...) |
잔글 (→그래프 그리기) |
||
114번째 줄: | 114번째 줄: | ||
|박스플롯 | |박스플롯 | ||
|가운데 선은 중위값, | |가운데 선은 중위값, | ||
아래는 1분위수, 위는 3분위수를 나타낸다. | 아래는 1분위수, 위는 3분위수를 나타낸다. 그 밖의 값들은 이상치. | ||
|기초데이터 | |기초데이터 | ||
+ geom_boxplot(속성) | + geom_boxplot(속성) | ||
123번째 줄: | 123번째 줄: | ||
|기초데이터 | |기초데이터 | ||
+ geom_point(속성) | + geom_point(속성) | ||
|- | |||
|회귀선 | |||
|geom_smooth(aes(x=열이름1, y=열이름2)), method='lm' | |||
| | |||
|}그래프 안에 다른 열을 넣으면 그 열별로 따로 계산된다. | |}그래프 안에 다른 열을 넣으면 그 열별로 따로 계산된다. | ||
128번째 줄: | 132번째 줄: | ||
<br /> | <br /> | ||
=== 축 다루기 === | ===축 다루기=== | ||
{| class="wikitable" | {| class="wikitable" | ||
!의도 | !의도 | ||
147번째 줄: | 151번째 줄: | ||
|그래프 + | |그래프 + | ||
scale_y_continuous(expand = c(0,0)) | scale_y_continuous(expand = c(0,0)) | ||
|- | |||
|축 바꾸기 | |||
|x축을 y축과 바꾼다. | |||
|그래프 + | |||
coord_flip() | |||
|}<br /> | |}<br /> | ||
== 그래프 꾸미기 == | ==그래프 꾸미기== | ||
=== 범례 === | ===범례=== | ||
{| class="wikitable" | {| class="wikitable" | ||
!의도 | !의도 | ||
221번째 줄: | 230번째 줄: | ||
|} | |} | ||
=== 색 채우기 === | === 글자 === | ||
{| class="wikitable" | |||
!의도 | |||
!설명 | |||
!사용법 | |||
|- | |||
|글자 크기 바꾸기 | |||
|theme 안에 각종 속성을 두어 적용한다. | |||
{| class="wikitable" | |||
|+ | |||
!위치 | |||
!속성 | |||
|- | |||
|x축 | |||
|axis.text.x | |||
|- | |||
|y축 | |||
|axis.text.y | |||
|- | |||
|범례 | |||
|legend.text | |||
|} | |||
|그래프 + | |||
theme(axis.text.x = element_text(size = 10) | |||
|- | |||
|글자각도 바꾸기 | |||
|theme 안에 angle 속성을 두어 적용한다. | |||
|그래프 + | |||
theme(axis.text.x = element_text(size = 10, angle=90) | |||
|} | |||
===색 채우기=== | |||
각 그래프의 속성 안에 넣으면 된다. | 각 그래프의 속성 안에 넣으면 된다. | ||
{| class="wikitable" | {| class="wikitable" | ||
231번째 줄: | 271번째 줄: | ||
|x축에 사용한 열이름을 기입하면 데이터별로 색을 채운다. | |x축에 사용한 열이름을 기입하면 데이터별로 색을 채운다. | ||
면적이 있는 도형의 색을 채울 때 사용. | 면적이 있는 도형의 색을 채울 때 사용. | ||
|기초데이터 | |기초데이터 + | ||
geom_bar(aes(fill=열이름)) | |||
|- | |- | ||
|테두리색 채우기 | |테두리색 채우기 | ||
|x축에 사용한 열이름을 기입하면 테두리 색을 바꾼다. | |x축에 사용한 열이름을 기입하면 테두리 색을 바꾼다. | ||
|기초데이터 | |기초데이터 + | ||
geom_bar(aes(col=열이름)) | |||
|- | |- | ||
|색 직접 채우기 | |색 직접 채우기 | ||
251번째 줄: | 291번째 줄: | ||
|} | |} | ||
=== 테마 === | ===테마=== | ||
그래프 바탕을 꾸민다. | 그래프 바탕을 꾸민다. | ||
2020년 8월 11일 (화) 13:00 기준 최신판
R언어 공부를 위한 틀 틀:R
ggplot2[편집 | 원본 편집]
R과 Python에서 그래프를 그려주는 패키지.
단계 | 방법 | 사용법 |
---|---|---|
패키지 부착 | 패키지 부착은
2개를 시켜야 한다. |
library(ggplot2) library(ggthemes)
|
기초 데이터 준비 | 데이터셋과
x축에 둘 열을 준비 ggplot(데이터셋, aes( x = 열 )) aesthetic(미적)의 줄임말. |
ggplot(데이터셋, aes( x = 열 )) |
그래프 그리기[편집 | 원본 편집]
단계 | 방법 | 사용법 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
각 축에 대한 막대를 그린다.
(명목형 변수에 대하여) |
ggplot(데이터셋, aes( x = 열이름1 )) + geom_bar(속성)
열에 해당하는 값을 세어 막대의 크기로 표현한다.
|
기초데이터
+ geom_bar(속성) | ||||||||||||||||
히스토그램
(연속형 변수에 대하여) |
연속형변수를 일정구간으로 나누어 집계한다.
ggplot(데이터셋, aes( x = 열이름1 )) + geom_histogram(속성)
|
기초데이터
+ geom_histogram(속성) | ||||||||||||||||
밀도그래프
(연속형 변수에 대하여) |
위와 같은 개념이지만, 구간을 작게 나누어 부드러운 곡선을 그린다.
ggplot(데이터셋, aes( x = 열이름1 )) + geom_density(속성)
|
기초데이터
+ geom_density(속성) | ||||||||||||||||
박스플롯 | 가운데 선은 중위값,
아래는 1분위수, 위는 3분위수를 나타낸다. 그 밖의 값들은 이상치. |
기초데이터
+ geom_boxplot(속성) | ||||||||||||||||
산점도 | ggplot(데이터셋, aes( x = 열이름1, y = 열이름2 ))
다음처럼 특정 조건을 만족하는 값을 다른 색으로 처리해 계산할 수도 있다. geom_point(aes(col = 열이름) |
기초데이터
+ geom_point(속성) | ||||||||||||||||
회귀선 | geom_smooth(aes(x=열이름1, y=열이름2)), method='lm' |
그래프 안에 다른 열을 넣으면 그 열별로 따로 계산된다.
geom_boxplot(aes(fill="열이름")
축 다루기[편집 | 원본 편집]
의도 | 설명 | 사용법 |
---|---|---|
축의 데이터범위 설정하기 | 그래프의 어느 범위를 보여줄지 설정할 수 있다.
scale_y_continuous(breaks = seq(시작값, 끝값, by=공차)) |
그래프 +
scale_y_continuous(expand = c(0,0), breaks = seq(0, 10000, by=1000)) |
그래프를 축에 맞추어 그리기 | scale_y_continuous(expand = c(0,0))
벡터 안의 숫자는 여백을 의미한다. |
그래프 +
scale_y_continuous(expand = c(0,0)) |
축 바꾸기 | x축을 y축과 바꾼다. | 그래프 +
coord_flip() |
그래프 꾸미기[편집 | 원본 편집]
범례[편집 | 원본 편집]
의도 | 설명 | 사용법 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
범례 달기 | labs(fill = "내용") | 그래프 +
labs(fill = "내용") | ||||||||||||
범례위치 수정 | theme(legend.position = 속성)
|
그래프 +
theme(legend.position = 속성) | ||||||||||||
범례없애기 | theme(legend.position = 'none') | 그래프 +
theme(legend.position = 'none') | ||||||||||||
범례 테두리 | theme 안에 다음의 내용을 끼워넣는다.
theme(legend.box.background = 속성, legend.box.margin =margin(상, 하, 좌, 우) margin은 그래프와 테두리 사이의 여백을 의미한다.
|
그래프 +
theme(legend.position = 속성, legend.box.background = element_rect, legend.box.margin =margin(1, 1, 1, 1) ) |
글자[편집 | 원본 편집]
의도 | 설명 | 사용법 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
글자 크기 바꾸기 | theme 안에 각종 속성을 두어 적용한다.
|
그래프 +
theme(axis.text.x = element_text(size = 10) | ||||||||
글자각도 바꾸기 | theme 안에 angle 속성을 두어 적용한다. | 그래프 +
theme(axis.text.x = element_text(size = 10, angle=90) |
색 채우기[편집 | 원본 편집]
각 그래프의 속성 안에 넣으면 된다.
의도 | 방법 및 설명 | 사용법 |
---|---|---|
그래프색 채우기 | x축에 사용한 열이름을 기입하면 데이터별로 색을 채운다.
면적이 있는 도형의 색을 채울 때 사용. |
기초데이터 +
geom_bar(aes(fill=열이름)) |
테두리색 채우기 | x축에 사용한 열이름을 기입하면 테두리 색을 바꾼다. | 기초데이터 +
geom_bar(aes(col=열이름)) |
색 직접 채우기 | 색 이름을 직접 채우고 싶을 때 사용한다. | 그래프 +
scale_fill_manual(values = c('색이름1', '색이름2', ...) |
색 연하게 채우기 | 그래프를 투명하게 만들 고 싶을 때.
alpha에 0~1 사이의 숫자를 넣어 불투명도를 전달한다. |
기초데이터 +
geom_bar(속성등등... , alpha=숫자) |
테마[편집 | 원본 편집]
그래프 바탕을 꾸민다.
library(ggthemes) 를 추가로 불러주고 진행해야 한다.
테마 | 방법 및 설명 | 사용법 |
---|---|---|
theme_classic() | 기존의 코드 뒤에 덧붙인다.
아무것도 없는 흰색 바탕의 그래프를 그린다. |
그래프 +
theme_classic() |
theme_bw() | 회색 격자선과 그래프 전체를 감싸는 검은 테두리 | 그래프 +
theme_bw() |
theme_dark() | 진한 회색 바탕에 더 진한 격자선 | 그래프 +
theme_dark() |
theme_light() | 그래프 +
theme_light() |
이외 기능[편집 | 원본 편집]
의도 | 방법 | 사용법 |
---|---|---|
라벨 붙이기 | 위의 명령 뒤에 라벨을 붙인다. | 그래프
+ xlab("x라벨") + ylab("y라벨") |
타이틀 붙이기 | 그래프
+ ggtitle("타이틀") | |