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パッケージと組み合わせた例
夏の終わりが近づいています。学会参加で忙しくなる人もいるかと思います。忙しさに負けませんように。そして少しでも、あなたの解析が楽になりますように!!