| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- NLP
- 데이터분석
- 빅데이터
- HIVE
- 그래프시각화
- 주가예측
- R시각화
- word2vec
- SQL
- lstm
- Python
- 데이터시각화
- R그래프
- Hadoop
- 하둡
- 빅데이터처리
- 자연어처리
- r
- 기계학습
- R프로그래밍
- ggplot
- Deeplearning
- 데이터
- 딥러닝
- pandas
- CNN
- 머신러닝
- 그래프
- 데이터처리
- 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 |