티스토리 뷰

김승욱님 강의를 듣고 작성하였습니다.

 

[R을 R려줘] R 시각화 기초 - 인프런

R 문법 기초에 이어서 진행되는 시각화 강좌 입니다. R의 강력한 시각화 패키지인 ggplot2를 집중적으로 배웁니다. 입문 데이터 분석 프로그래밍 언어 R 온라인 강의

www.inflearn.com

선 그래프

데이터 준비

line_df=data.frame(obs=1:30,
+                    var_1 =rep(c('A','B','C'),10),
+                    value = sample(1:100, size = 10),
+                    stringsAsFactors = F)
> head(line_df)
  obs var_1 value
1   1     A    62
2   2     B    61
3   3     C    90
4   4     A    37
5   5     B    12
6   6     C     6
> library(ggplot2)

그래프1

> library(ggplot2)
> ggplot(data = line_df, aes(x=obs,
+                            y=value)) +
+   geom_line()

 

그래프2

> ggplot(data=line_df, aes(x=obs,
+                          y=value,
+                          group=var_1))+
+   geom_line()

var_1 컬럼 기준으로 그룹을 묶겠다. 하나의 컬럼을 기준으로 3개의 그래프가 중첩되었다.

 

그래프3

ggplot(data=line_df, aes(x=obs,
                         y=value,
                         group=var_1,
                         color=var_1))+
  geom_line()

빨,파,초록이 선택된 것은 ggplot 기본 값이기 때문이다. 나중에 색상 설정에 대해서 배울 수 있다.

 

그래프4

> ggplot(data=line_df, aes(x=obs,
+                          y=value,
+                          group=var_1,
+                          color=var_1))+
+   geom_line()+
+   geom_point(data=line_df, aes(x=obs,
+                                y=value,
+                                group = var_1,
+                                color = var_1))

 

그래프5

> ggplot(data=line_df, aes(x=obs,
+                          y=value,
+                          group=var_1,
+                          color=var_1))+
+   geom_line(size=1.3)+
+   geom_point(data=line_df, aes(x=obs,
+                               y=value,
+                               group=var_1,
+                               color=var_1),
+             size=4)

스타일 1도 아니고 스타일 2도 아닌 비 효율적인 코드.

 

응용

ggplot(data=line_df, aes(x=obs,
                         y=value,
                         group=var_1,
                         color=var_1))+
  geom_line(size=1.3)+
  geom_point(data=line_df, aes(x=obs,
                              y=value,
                              group=var_1,
                              color=var_1),
            size=4)+
  geom_point(data=line_df, aes(x=obs,
                               y=value,
                               group=var_1,
                               color=var_1),
             size=2.5,
             color='#FFFFFF')

원의 크기를 크게 해서 안에 글자도 넣을 수 있다.

 

비 효율적인 코드를 스타일1처럼 간결하게 만들어 보자.

ggplot(data=line_df, aes(x=obs,
                         y=value,
                         group=var_1,
                         color=var_1))+
  geom_line(size=1.3)+
  geom_point(size=4)+
  geom_point(size=2.5,
             color='#FFFFFF')

 

스타일 2대로 하면

ggplot()+
  geom_line(data=line_df, aes(x=obs,
                            y=value,
                            group=var_1,
                            color=var_1),
          size=1.3)+
  geom_point(data=line_df, aes(x=obs,
                              y=value,
                              group=var_1,
                              color=var_1),
            size=4)+
  geom_point(data=line_df, aes(x=obs,
                              y=value,
                              group=var_1,
                              color=var_1),
            size=2.5,
            color='#FFFFFF')

line 속성이 동일하므로 스타일2로 쓰는게 비효율적이다. 하지만 다 다른 데이터를 가지고 그리게 된다면 스타일 2가 더 쉽다.

'beginner > R 시각화 기초' 카테고리의 다른 글

ggplot 색상설정-2  (0) 2019.08.01
ggplot 색상 설정-1  (0) 2019.07.31
ggplot 기본문법  (0) 2019.07.30
ggplot 유용한 사이트  (0) 2019.07.26
ggplot과 각종사례  (0) 2019.07.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함