分類: R

R 的 ggmap 套件:繪製地圖與資料分佈圖,空間資料視覺化

這裡介紹如何使用 R 的 ggmap 套件來繪製地圖,並且把自己的資料依照經緯度畫在地圖上。

ggmap 套件是一個專門用來繪製地圖的 R 套件,它可以自動從 Google 地圖、OpenStreetMap、Stamen Maps 或 CloudMade Maps 網站上下載指定位置的地圖,讓使用者使用 ggplot 的語法來結合地圖與資料並進行繪製。

除了基本的資料點標示之外,使用者還可以透過 ggmap 的所提供的函數來使用 Google 地圖 API 的各種功能,非常方便。

繪製基本地圖

ggmap 套件中的 get_map 函數可以讓我們在 R 的環境中直接下載地圖,接著再呼叫 ggmap 函數就可以畫出來。若要繪製台灣的地圖,可以執行:

library(ggmap)
library(mapproj)
map <- get_map(location = 'Taiwan', zoom = 7)
ggmap(map)

地圖的位置是透過 location 參數來指定,直接輸入地名即可,而 zoom 則是控制地圖的大小。這是畫出來的圖:

get_map 有相當多的參數可以使用,language 可以設定地圖上文字標示的語言:

map <- get_map(location = 'Taiwan', zoom = 7,
  language = "zh-TW")
ggmap(map)

這是畫出來的圖:

location 參數也可以接受經緯度,需要畫出比較精確的位置時,可以這樣使用:

map <- get_map(location = c(lon = 120.233937, lat = 22.993013),
  zoom = 10, language = "zh-TW")
ggmap(map)

這是畫出來的圖:

maptype 參數可以指定地圖的類型(預設是 terrain):

map <- get_map(location = c(lon = 120.233937, lat = 22.993013),
  zoom = 10, language = "zh-TW", maptype = "roadmap")
ggmap(map)

以下是幾種常見的地圖類型:

roadmap 地圖

satellite 地圖

hybrid 地圖

這種黑白的地圖在顯示資料時很好用。

toner-lite 地圖

ggmapdarken 這個參數可以讓地圖變暗(或是變亮):

map <- get_map(location = c(lon = 120.233937, lat = 22.993013),
  zoom = 10, language = "zh-TW")
ggmap(map, darken = 0.5)

這是畫出來的圖:

若要讓地圖變亮,可以執行:

map <- get_map(location = c(lon = 120.233937, lat = 22.993013),
  zoom = 10, language = "zh-TW")
ggmap(map, darken = c(0.5, "white"))

這是畫出來的圖:

darken 基本上就是在地圖上多加一層圖層,透過指定透明度與顏色,就可以做出很多變化。

Page: 1 2 3

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

1 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

2 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

2 年 ago