R 완전 기초

R을 완전 기초부터 시작합니다


수강중

24. ggplot2 선 그래프

데이터 불러오기

  • mac용 데이터 : data_mac.csv
  • win용 데이터 : data_win.csv
매출 = read.csv('data_mac.csv')

dplyr을 불러온다.

library(dplyr)

매출 데이터에서 매출월구매건수의 합계를 구한다.

아래와 같이 입력한다. 한줄한줄 코드를 실행되야 정상적으로 처리가 된다.

월매출 = 매출 %>%
    group_by(매출월) %>%
    summarise(합계 = sum(구매건수))

월매출을 출력한다.

월매출

ggplot2 사용하기

qplot 로 그래프 그리기

데이터는 월매출 데이터를 사용한다.

가로축은 매출월이고, 세로축은 합계이다.

library(ggplot2)

qplot(매출월, 합계, data = 월매출)

zoom 버튼으로 그래프 크게 보기

그래프가 그려질 만큼의 공간이 필요하기 때문에 창이 너무 작으면 에러가 난다.

zoom을 통해 독립된 창으로 확인한다.

mac 사용시, 그래프에서 한글폰트 깨짐 문제

ggplot은 여러가지 요소를 더할 수 있다.

폰트에 해당하는 속성 theme_grey을 그래프에 더해주면 문제가 해결된다.

theme_grey함수는 그래프의 테마, 스타일을 지정해줄 수 있다.

아래와 같이 입력하고 그래프 결과를 확인한다.

qplot(매출월, 합계, data = 월매출) +
 theme_grey(base_family = 'AppleGothic')

선 그래프 그리기

qplot 에서 geom = line의 추가옵션을 한다.

아래와 같이 입력하고 그래프 결과를 확인한다.

qplot(매출월, 합계, data = 월매출, geom = 'line') +
 theme_grey(base_family = 'AppleGothic')

그래프 가로축 지정

가로축을 수동으로 정해주고 싶으면, qplotscale_x_continuous함수를 추가한다.

scale_x_continuous 추가설명

  • scale : 척도
  • x : 가로
  • y : 세로
  • continuous : 연속적

breaks 옵션 : 어디서 끊어서 표기를 할지

3,6,9,12월로 끊어서 line graph 그리기

아래와 같이 입력하고 그래프 결과를 확인한다.

qplot(매출월, 합계, data = 월매출, geom = 'line') +
 scale_x_continuous(breaks = c(3, 6, 9, 12)) +
 theme_grey(base_family = 'AppleGothic')

1, 2, 3, 6, 9, 12월로 끊어서 line graph 그리기

아래와 같이 입력하고 그래프 결과를 확인한다.

qplot(매출월, 합계, data = 월매출, geom = 'line') +
 scale_x_continuous(breaks = c(1, 2, 3, 6, 9, 12)) +
 theme_grey(base_family = 'AppleGothic')

1 부터 12월을 전부 끊어서 line graph 그리기

아래와 같이 입력하고 그래프 결과를 확인한다.

qplot(매출월, 합계, data = 월매출, geom = 'line') +
 scale_x_continuous(breaks = 1:12) +
 theme_grey(base_family = 'AppleGothic')

속성을 변수에 지정

Mac에서 글꼴 설정 같은 경우 그래프를 그릴 때마다 다시 쳐야한다.

매번 설정을 타이핑하는 것은 번거롭기 때문에 속성자체변수로 만들어 사용한다.

고딕변수를 만들어 폰트속성을 넣는다.

고딕 = theme_grey(base_family = 'AppleGothic')

다음과 같이 코드가 짧아진다.

qplot(매출월, 합계, data = 월매출, geom = 'line') +
 scale_x_continuous(breaks = 1:12) + 고딕

월가로축변수를 만들어 가로축 지정 속성을 넣는다.

월가로축 =  scale_x_continuous(breaks = 1:12)

다음과 같이 코드가 짧아진다.

qplot(매출월, 합계, data = 월매출, geom = 'line') + 월가로축 + 고딕