ggplot2で矢印プロットを作成するパッケージの紹介です。ggmapパッケージなどと組み合わせると利用の幅が広がると考えます。ggquiverパッケージ単独とggmapパッケージの組み合わせを紹介します。
パッケージバージョンは0.1.0。windows 10のR version 3.4.1で動作を確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
install.packages("ggquiver")
コマンドの紹介
詳細はコマンド、パッケージのヘルプを確認してください。体裁はggplot2のコマンドで調整可能です。
#パッケージの読み込み
library("ggquiver")
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
###データ例の作成#####
TestData <- expand.grid(x = seq(0, pi, pi/12),
y = seq(0, pi, pi/12))
########
#速度プロットの作成:geom_quiverコマンド
#開始地点:x,yオプション
#開始地点からx軸方向の終了地点:uオプション
#開始地点からy軸方向の終了地点:vオプション
ggplot(TestData, aes(x = TestData[, 1], y = TestData[, 2],
u = sinpi(TestData[, 1])*cospi(TestData[, 2]),
v = cos(TestData[, 2]))) +
geom_quiver(aes(col = sinpi(TestData[, 1])*cospi(TestData[, 2])),
center = TRUE, show.legend = FALSE, vecsize = NULL,
rescale = FALSE) +
scale_colour_gradientn(colours = heat.colors(6)) +
theme(title = element_text(colour = "#ffffe0"),
axis.title = element_text(colour = "#ffffe0"),
axis.text = element_text(colour = "#ffffe0"),
axis.text.y = element_text(size = 5),
panel.grid = element_blank(),
panel.background = element_rect(fill = "#0a0a0a"),
plot.background = element_rect(fill = "#0a0a0a"))
#######################################
###ggmapパッケージと組み合わせた例#####
#######################################
#パッケージのインストール
install.packages("ggmap")
install.packages("stringi")
#パッケージの読み込み
library("ggmap")
library("stringi")
#ggmapパッケージを利用して緯度経度を取得
#stringi:stri_encodeコマンドを利用すると日本語でもエラーが出ません。
LonLatData <- geocode(stri_encode("京都", "", "utf-8"))
#緯度経度の範囲を設定
LonLatDataAra <- c(LonLatData - .02, LonLatData + .02)
#適当にプロットデータを作成
TestPlotData <- data.frame(x = seq(LonLatDataAra[[1]], LonLatDataAra[[3]], 0.004),
y = seq(LonLatDataAra[[2]], LonLatDataAra[[4]], 0.004))
#Mapデータを取得:ggmapパッケージ;get_googlemapコマンド
GetMap <- get_googlemap(center = c(lon = LonLatData[[1]], lat = LonLatData[[2]]),
zoom = 13)
#プロット
ggmap(GetMap) +
geom_quiver(data = TestPlotData, aes(x = x, y = y, u = x, v = y, size = y),
center = TRUE, show.legend = FALSE, vecsize = NULL,
rescale = FALSE, col = "red")
出力例
・geom_quiverコマンド
・ggmapパッケージと組み合わせた例
夏の終わりが近づいています。学会参加で忙しくなる人もいるかと思います。忙しさに負けませんように。そして少しでも、あなたの解析が楽になりますように!!