그래프를 그리다보면, 가장 어려운 부분 중 하나는 데이터 값을 인식 가능한 속성이나 단위로 변환하는 것이다. scales
패키지는 ggplot2에서 스케일링 기능을 제공하며, 기본 나누기, 레이블, 변환 및 팔레트를 재정의할 수 있는 도구를 제공한다. 아래 코딩예시들은 Label numbers in decimal format 문서의 예시를 참고하였다.
ESPG:5179
지도참조체계를 사용하면 m 단위의 수치로 x/y 축이 표시된다.
ggplot() +
geom_sf(data = sig, aes(fill = SIG_CD)) +
scale_fill_viridis_d(begin = 0.3) +
coord_sf(datum = st_crs(5179)) +
theme_bw() +
theme(legend.position = "none",
axis.title = element_blank())
scales
패키지 설치를 해놔야 한다. 그리고나서 label_comma
함수를 이용해서 천단위로 바꿀 뿐만 아니라, 콤마까지 자동으로 넣어줄 수 있다.
library(scales)
ggplot() +
geom_sf(data = sig, aes(fill = SIG_CD)) +
scale_fill_viridis_d(begin = 0.3) +
scale_x_continuous(labels = label_comma(scale = 1/1000)) +
scale_y_continuous(labels = label_comma(scale = 1/1000)) +
coord_sf(datum = st_crs(5179)) +
theme_bw() +
theme(legend.position = "none",
axis.title = element_blank())
cut_si('m')
과 같이 정의하면, 숫자의 크기에 맞춰 km, Mm, Gm 로 단위로 자동 변경된다. 더 자세한 예시는 (ggplot2) scales 패키지 사용 예제 포스팅을 참고한다.
ggplot() +
geom_sf(data = sig, aes(fill = SIG_CD)) +
scale_fill_viridis_d(begin = 0.3) +
scale_x_continuous(labels = label_number(scale_cut = cut_si('m'))) +
scale_y_continuous(labels = label_number(scale_cut = cut_si('m'))) +
coord_sf(datum = st_crs(5179)) +
theme_bw() +
theme(legend.position = "none",
axis.title = element_blank())