연속 구분 색상 지도(Choropleth map)
이제 폴리곤을 그리는 방법을 이해하셨으니, 이번에는 해당 폴리곤을 지도 위에 올려 보겠습니다. 기억하세요. ggplot() 호출을 ggmap() 호출로 바꾸고, 원래의 ggplot() 호출은 base_layer() 인수로 옮긴 다음, 평소처럼 폴리곤 레이어를 더하면 됩니다:
ggmap(corvallis_map_bw,
base_layer = ggplot(ward_sales,
aes(lon, lat))) +
geom_polygon(aes(group = group, fill = ward))
콘솔에서 직접 시도해 보세요!
어라, 뭔가 이상하네요. 구역 1, 3, 8이 들쭉날쭉하고 형태가 틀려 보입니다. 무슨 일일까요? 일부 구역 경계가 지도 경계 밖에 있기 때문입니다. ggmap()의 기본 설정상, 지도 밖의 데이터는 그리기 전에 제거되므로, 일부 폴리곤 경계가 사라지고 남은 점들만 이어져 잘못된 모양이 됩니다.
걱정하지 마세요. 해결 방법이 있습니다. ggmap()에는 이 동작을 제어하는 인수가 있습니다. extent = "normal"과 maprange = FALSE를 함께 지정하면, 지도 범위가 아니라 데이터 범위를 사용해 플로팅 경계를 정의하도록 강제할 수 있습니다.
이 연습은 강의의 일부입니다
R로 지리공간 데이터 시각화하기
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Fix the polygon cropping
ggmap(corvallis_map_bw,
base_layer = ggplot(ward_sales, aes(lon, lat))) +
geom_polygon(aes(group = group, fill = ward))