특정 위치를 표시하기 위해서는 숫자로 경도/위도를 표시만 해서는 안되고, sf 객체로 바꿔야 한다. Simple features(sf)는 점(points), 선(lines), 다각형(polygons) 등 공간 데이터를 다루기 위한 패키지이다. 특히 sf 패키지는 ggplot2와 연동하여 공간 데이터의 시각적 표현이 용이하다.
(ggplot2) coord_sf 지도 CRS, Datum 설정하기
coord_sf() 함수는 ggplot2 패키지에서 사용되는 함수로, Simple Features (sf) 객체를 사용하여 지리적인 데이터를 시각화할 때 좌표 참조 체계와 관련된 설정을 셋팅하는데 사용된다. 이 함수를 사용하여 x와 y 축의 좌표 및 투영(projection) 등을 조절할 수 있다.
(ggplot2) scale_fill_viridis_d 지도 색상 설정
R프로그래밍으로 지도를 그리는 방법을 조금씩 배워가고 있다. 지도 그래프의 핵심은 지역별로 색상을 매핑하는 일이라 생각해서, 관련 ggplot 기능들을 찾아 하나씩 공부하고 있다. 이전에 지도 데이터를 다운받는 방법을 포스팅 했었고, 참고하여 시군구 지도 데이터를 읽어온다.
[더 읽기]R프로그래밍 - ggplot 한국지도 그리기
ggplot2 으로 지도를 그리는 건 생각보다 많은 지식을 필요로 하고, 데이터를 이해하지 못하면 지도를 그리기조차 쉽지 않다. GIS DEVELOPER 에서 shp 파일을 받을 수 있다. Shapefile (SHP 파일)은 지리 정보 시스템 (GIS)에서 공간 데이터를 저장하는 데 사용되는 형식 중 하나이다. ESRI (Environmental Systems Research Institute)에서 개발되었으며, 공간 데이터를 기하학적 요소와 속성 데이터로 나누어 저장하는 형식이다.
R프로그래밍 - ggplot 세계지도 그리기
ggplot2 은 막대차트, 선그래프, 도넛차트 등 기본적인 차트뿐만 아니라 고차원의 차트를 손쉽게 코딩 몇 줄이면 그릴 수 있는 강력한 도구라고 생각한다. 나 역시 괜찮아 보이는 차트들을 하나씩 카피해가면서 ggplot2 로 만들 수 있는지 없는지 해봤지만, 안되는 게 없이 다 된다. 그런데 아직 못해본게 있는데, 바로 map 차트(지도그래프)였다.
[더 읽기](ggplot2) ggsave 사용시 폰트 문제 해결방법
ggplot 을 사용할 때, 컴퓨터에 설치되어 있는 폰트를 사용하여 텍스트를 표현할 수 있다. 그런데 특정 폰트를 사용하여 RStudio 에서 차트를 생성하면 plot 뷰어에서는 제대로 폰트가 잘 적용이 되다가, ggsave 로 export 를 하면 기본폰트처럼 돌아가 있는 현상이 있었다.
ggplot2 보조선 그리기 - geom_abline, geom_vline, geom_hline
ggplot2 로 그래프를 그리다가 추가적인 보조선을 그리고 싶을 때가 있다.
예를 들면, 아래와 같은 꺾은선그래프에서는 y = 0 인 직선을 그려주면, 음의 방향으로 그래프를 향하는 부분을 쉽게 강조할 수 있다. 이와 같이 수직선, 수평선 혹은 일차방정식에 해당하는 기울기가 있는 직선을 보조선으로 사용하는 방법을 정리해본다.
ggplot2를 이용한 기본적인 선그래프 그리기
ggplot2 를 이용해서 가장 기본적인 선그래프(라인그래프)를 그리는 방법을 정리해본다. 선그래프를 그리는 방법은 생각보다는 쉽지 않다. 소스 단 1줄로도 그릴 수 있지만, 사용하는 데이터의 구조와 필드들을 이해하고 제대로 함수를 사용해야만 그려진다.
[더 읽기]ggplot2 를 사용하여 100% 기준 누적막대그래프 그리기
일반적인 막대그래프는 여러가지 값을 하나의 막대그래프에 누적해서 쌓아서 그 구성내용을 볼 수 있는 그래프이다. 아래 그림1 처럼 특정 기준으로 그 구성비율을 알기는 쉽지만 그 총계는 다르다보니, 정확하게 막대별로 비율의 비교는 하기 어렵다.
[더 읽기]geom_point shape 설정하기
변화가 크지 않은 데이터인 경우, ggplot2 에서 선그래프를 그리고나면 약간 밋밋해보인다. 이럴때 각 좌표마다 포인트(점모양)을 넣어주면 조금은 구분이 명확한 그래프를 그릴 수 있다. ggplot2 에서는 geom_point 함수로 점모양을 그릴 수 있는데, 동그라미 모양뿐 아니라 총 26가지의 모양을 적용할 수 있다. 그래서 아래와 같이 그룹별로 라인을 나누어 그릴때, 포인트도 각기 다르게 셋팅해서 시각화를 할 수 있다.