開始使用免費開始

整合在一起

你現在已經有一張漂亮的 Corvallis 地圖了,但要怎麼把房屋交易的位置疊加上去呢?

和 ggplot() 類似,你可以在 ggmap() 呼叫中加入不同的資料圖層(例如 + geom_point())。不過要特別注意,ggmap() 會將地圖設為預設的資料集,並同時設定預設的美術對應(aesthetic mappings)。

這表示,如果你想加入不是出自地圖本身的圖層(例如 sales),就需要在該 geom 中明確指定 mapping 和 data 這兩個引數。

這會長什麼樣子呢?你已經看過如何繪製銷售資料的基本散佈圖:

ggplot(sales, aes(lon, lat)) + 
  geom_point()

另一種等價的寫法是:

ggplot() + 
  geom_point(aes(lon, lat), data = sales)

在這裡,我們把資料與對應指定在 geom_point(),而不是在 ggplot()。這種寫法的好處是,你可以把 ggplot() 換成 ggmap() 的呼叫,就能在圖的背景放上一張地圖。

本練習屬於課程

在 R 視覺化地理空間資料

檢視課程

練習說明

ggmap 套件已為你載入,且上一個練習中的 corvallis_map 已可在你的工作環境中使用。

  • 先用 head() 看一下 sales 資料。你能看出哪些欄位是房屋的位置嗎?
  • 將呼叫 ggplot() 的地方改成以 corvallis_map 呼叫 ggmap()。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Look at head() of sales


# Swap out call to ggplot() with call to ggmap()
ggplot() +
  geom_point(aes(lon, lat), data = sales)
編輯並執行程式碼