지난번 포스팅에서 R의 그래픽에 폰트를 적용해 보았다. 매번 폰트를 적용하는 것은 번거로운 일일 수 있다. 조금이나마 편의성을 높여보고자 한다.  지난번 포스팅은 아래에 링크를 남길테니 참고하기 바란다.

폰트 적용하기
R에서는 기본적으로 Times New Roman 폰트를 사용한다. 해당 폰트 또한 예쁘다고 생각된다. 하지만 우리는 시각화를 좀 더 예쁘게 하기 위해 폰트를 변경하고 싶을 수도 있다. 그럼 R에서 어떻게 폰트를 적용할지 알아보도록 하자. 폰트 목록 확인R에서 폰트를 설정해주는 패키지는 extrafont 패키지와 showtext 패키지가 존재한다. showtext 패키지는 ttf 타입 외의 폰트도 지원하므로

우리가 R을 켰을 때 R이 실행되기 전에 Rprofile 파일이 실행된다. 따라서 자주 쓰는 함수에 별칭을 등록한다거나, 코드 상으로 보여주고 싶지 않은 정보가 있을 경우 이를 활용할 수 있다. 아래 명령어를 통해 Rprofile을 열 수 있으며, R의 프로젝트를 생성하면 우선순위가 프로젝트가 된다.

file.edit('~/.Rprofile')

자 이제 해당 파일에서 이전 포스팅에 진행했던 Nanum Pen Script를 적용하는 코드를 심어보자. theme_get은 ggplot의 기본 테마에 대한 정보가 변경된다.

만약 theme_classic과 같은 다른 theme를 설정하고 싶다면 ggplot2::theme_get()을 ggplot2::theme_classic()으로 변경하고 사용하면 된다. ctrl+shift+f10을 실행하면 재시작이 되는데 아래 코드가 실행되고 실행이 되므로 시간이 조금 더 걸린다.

sysfonts::font_add_google('Nanum Pen Script', 'nanumpen')
showtext::showtext_auto()

my_theme=ggplot2::theme_get()
my_theme$text$family='nanumpen'
ggplot2::theme_set(my_theme)
rm('my_theme')

아래 코드를 실행하면 폰트가 적용된 것을 확인 할 수 있다.

library(ggplot2)
data=as.data.frame(
  table(diamonds$cut))
colnames(data)=c('cut_type','count')
ggplot(data=data,aes(x='',y=count,fill=cut_type))+
  geom_bar(stat='identity',width=1)+
  coord_polar("y",start=0)+
  theme(text=element_text(size=20))