시작하기무료로 시작하기

ggplot2의 강점을 살리기

ggmap() 플롯에 geom_***() 레이어를 추가하고 데이터와 매핑을 명시적으로 지정할 수 있다는 것을 보셨죠. 하지만 이 방식에는 두 가지 큰 단점이 있어요. 이후 레이어도 모두 데이터와 매핑을 다시 지정해야 하고, 패싯이 전혀 작동하지 않습니다.

다행히 ggmap()에는 이를 보완하는 방법이 있습니다. 바로 base_layer 인자예요. 모든 레이어에 적용할 기본 데이터와 매핑을 지정하는 일반 ggplot() 호출을 base_layer에 전달할 수 있어요.

예를 들어, 초기 플롯은 다음과 같았죠:

ggmap(corvallis_map) +
  geom_point(data = sales, aes(lon, lat))

이를 다음처럼 바꿀 수 있습니다:

ggmap(corvallis_map, 
    base_layer = ggplot(sales, aes(lon, lat))) +
  geom_point()

ggmap() 호출 안의 ggplot()geom_point()aes(x, y)data를 옮기면, 일반적인 ggplot2 방식대로 패싯을 추가하거나 레이어를 더 쉽게 쌓을 수 있어요.

직접 해 볼까요?

이 연습은 강의의 일부입니다

R로 지리공간 데이터 시각화하기

강의 보기

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Use base_layer argument to ggmap() to specify data and x, y mappings
ggmap(corvallis_map_bw, ___) +
  geom_point(data = sales, aes(lon, lat, color = year_built))
코드 편집 및 실행