tmapとggplot2の出力結果の比較
空間データのプロット
sfやspクラスオブジェクトのデータをプロットする方法について
tmap
とggplot2
パッケージによる出力を比較してみる。
library(tmap) library(sf) library(mapview) library(ggplot2)
spクラスオブジェクトとsfクラスオブジェクトの2つを準備する。
nc <- st_read(system.file("shape/nc.shp", package="sf"), quiet = T) data("atlStorms2005") class(nc)
[1] "sf" "data.frame"
class(atlStorms2005)
[1] "SpatialLinesDataFrame" attr(,"package") [1] "sp"
tmap
を利用して書くと
tm_shape(nc) + tm_polygons(col = "AREA")
tm_shape(atlStorms2005) + tm_lines(col = "MaxWind") + tm_layout(frame = F)
ggplot2
を利用して書くと
ggplot() + geom_sf(data = nc, aes(fill = AREA))
ggplot() + geom_sf(data = st_as_sf(atlStorms2005), aes(color = MaxWind))
tmap
パッケージではsp, sfオブジェクトともに区別なく書くことができるが、
ggplot2
ではsfオブジェクトのみ対応しており、変換が必要になる。
ggplot2パッケージのパレットが見づらいと感じるので、 デフォルトのパレットを変更されることを期待している。