일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Deeplearning
- R시각화
- Python
- 머신러닝
- 그래프
- SQL
- 빅데이터
- pandas
- 빅데이터처리
- lstm
- 그래프시각화
- CNN
- NLP
- R프로그래밍
- r
- Hadoop
- 데이터시각화
- word2vec
- 하둡
- 자연어처리
- HIVE
- R그래프
- 데이터
- 딥러닝
- 주가예측
- ggplot
- AI
- 기계학습
- 데이터분석
- 데이터처리
- Today
- Total
욱이의 냉철한 공부
[R, 시각화, 패키지] ggplot 패키지 사용하여 이쁘게 그래프 그리기2 - geom_bar(), 막대그래프 응용 본문
=> geom_bar()와 geom_smooth()는 여기서 확인하시면 됩니다.
https://warm-uk.tistory.com/75?category=810499
[R, 시각화, 패키지] ggplot 패키지 사용하여 이쁘게 그래프 그리기1 - geom_point(), geom_smooth()
* 예시로 사용할 데이터 셋 mpg : 자동차 234종에 대한 데이터입니다. 총 234행 11열(변수)로 이루어져 있습니다. 변수명 내용 변수명 내용 manufacturer 제조회사 model 자동차 모델명 dispal 배기량 year 생
warm-uk.tistory.com
* 예시로 사용할 데이터 셋
mpg : 자동차 234종에 대한 데이터입니다. 총 234행 11열(변수)로 이루어져 있습니다.
변수명 | 내용 | 변수명 | 내용 |
manufacturer | 제조회사 | model | 자동차 모델명 |
dispal | 배기량 | year | 생산연도 |
cyl | 실린더 개수 | trans | 변속기 종류 |
drv | 구동 방식 | cty | 도시 연비 |
hwy | 고속도로 연비 | fl | 연료 종류 |
class | 자동차 종류 |
1. ggplot 패키지 설치 및 데이터 셋 확인
- ggplot2패키지는 ggplot패키지의 업데이트된 버젼이다.
- ggplot2패키지 내에 있는 mpg 데이터셋 객체를 불러와 데이터 프레임으로 만든다.
- ggplot2::mpg는 ggplot2에 들어있는 mpg 데이터를 지칭하는 코드
- ::를 이용하면 특정 패키지에 들어 있는 함수나 데이터를 지정할 수 있다.
- mpg 데이터 셋을 확인 해 본다
2. geom_bar()의 기본 - 인자 stat="identity"
임의로 사용할 데이터 프레임
- ggplot() 함수는 무슨 데이터를 사용 할지 정하고 그래프 그릴 준비를 활성화 한다고 생각하면 된다
- geom_bar() 함수는 구체적으로 무엇을 그릴지 명령한다고 생각하면 된다.
- aes(미학요소)함수 가장 중요하다. x축, y축 및 색 등의 미학요소를 설정한다.
- stat = "identity"는 y축을 해당 변수의 값 그대로 사용해서 그래프를 그린다.
- mapping 인자는 ggplot() 함수에 입력하든, geom_bar() 함수에 입력하든 상관없다.
사용하는 함수들이 많아질 경우 ggplot()에 입력하는 것이 편리하다.
3. geom_bar() 인자
1) 미학요소 - color/fill
- 미학요소에서 y인자를 따로 설정하지 않으면 y는 자동으로 x에 의한 count값이 된다.
- #1은 막대테두리색 미학요소를 설정하였다. class변수의 값에 따라 색이 자동 달라지는 것을 확인 할 수 있다.
- #2은 막대색 미학요소를 설정하였다. class변수의 값에 따라 색이 자동 달라지는 것을 확인 할 수 있다.
- #3은 막대색 미학요소를 설정하였다. class변수의 값에 따라 색이 자동 달라지는 것을 확인 할 수 있다.
다만 펙터만 분류를 받아들이기 때문에 펙터로 변환시켰다.
2) position 인자
- #1은 stack으로 막대모양을 설정하였다. fill로 색이 나누어진 막대가 한 개로 쌓여져 있는 것을 확인 할 수 있다.
- #2은 dodge로 막대모양을 설정하였다. fill로 색이 나누어진 막대가 두 개로 나누어져 있는 것을 확인 할 수 있다.
- #3은 identity로 막대모양을 설정하였다. dodge 상태에서 나누어진 두 개의 막대가 하나로 겹쳐진다.
alpha인자는 막대의 투명도이다.
- #4는 fill로 막대모양을 설정하였다. 비율을 뜻하며 1을 기준으로 fill로 나누어진 막대의 비율을 뜻한다.
* 하나의 막대 비율 표현
- 미학요소(aes)에서 설정한다.
- y인자를 ..prop..로 설정하면 class로 나누어지는 데이터 수의 비율이 된다.
- group=1은 전체로 1로 두고 부분비율을 구하겠다는 의미이다.
4. geom_bar()외 여러 함수와 함께 이쁘고 자세하게 그래프 그리기
=> 여기서 차례로 꾸며나가겠다
1) coord_catesian() 함수 사용
- 위의 그래프는 각 막대를 분별하기 어려워 보기 어렵다
- 미학요소 fill를 통하여 year변수 값에 의하여 막대 색이 달라지게 한다.
- coord_cartesian()함수는 그래프 범위를 조절한다.
- ylim인자를 통하여 y값이 60~75 범위만 그래프로 그려지게 조절한다.
2) geom_label() 함수 사용
- 막대 위에 weight 값이 시각화되면 보기 편리할 것 같다.
- geom_label() 함수를 사용하여 weight 값이 표시되게 한다.
- 미학요소 label을 통하여 그 값이 표현하게 설정하고 nudge_x, nudge_y값으로 그 위치를 조정한다.
- 1.1은 막대에서 조금 더 위로 올라간 위치이다. 0.9는 아래로 내려 갈 것이다.
3) labs() 함수 사용
- 이 그래프에 대한 설명을 보여주고 싶다.
- labs() 함수를 사용하면 된다.
- title 인자는 큰 제목, subtitle 인자는 작은 제목, caption 인자는 그래프 아래에 설명, x, y 인자는 각각 x축 이름, y축 이름을 뜻한다.
- 이 밖에 color 인자를 사용하면 범례 제목도 바꿀 수 있다.
4) ggthemes패키지의 테마함수들 사용
- ggtheme라는 패키지를 또 설치해야 한다.
- 이쁘게 디자인 된 테마들이 모여져 있는 패키지이다.
- 본인은 ggtheme패키지 안에 theme_wsj() 함수를 사용하여 이쁘게 그래프를 만들었다.
- theme_wsj() 패키지 외에 theme_minimal(), theme_light() 등등 많다.
보시는 분들 죄송해요~ 제가 영어가 짧아서 diat가 아니라 diet입니다.. ㅎㅎ
5. 응용
=> 본인이 공모전을 할 때 시각화 했던 자료 중 하나이다.
- 여러 함수들과 인자들을 입력함으로써 그래프를 꾸밀 수 있다.
'데이터분석 > R' 카테고리의 다른 글
[R, 크롤링, 패키지] XML 패키지 사용하여 웹에서 그래프 가져오기 (0) | 2021.06.28 |
---|---|
[R, 시각화, 패키지] ggplot 패키지 사용하여 이쁘게 그래프 그리기3 - geom_histogram(), 국소화, 다중plot (0) | 2021.06.28 |
[R, 시각화, 패키지] ggplot 패키지 사용하여 이쁘게 그래프 그리기1 - geom_point(), geom_smooth() (0) | 2021.06.28 |
[R, 전처리, 패키지] dply패키지 사용하여 데이터 처리하기 (0) | 2021.06.28 |
[R, DB연동] ORACLE과 연동하여 R에서 SQL 사용하기 (0) | 2021.06.28 |