時間・順序と組になっている変量をグラフにする
ggplot2パッケージ(tidyverseパッケージに含まれている)のeconomicsデータセットを使う。
> library(tidyverse) > head(economics) # A tibble: 6 x 6 date pce pop psavert uempmed unemploy <date> <dbl> <dbl> <dbl> <dbl> <dbl> 1 1967-07-01 507. 198712 12.6 4.5 2944 2 1967-08-01 510. 198911 12.6 4.7 2945 3 1967-09-01 516. 199113 11.9 4.6 2958 4 1967-10-01 512. 199311 12.9 4.9 3143 5 1967-11-01 517. 199498 12.8 4.7 3066 6 1967-12-01 525. 199657 11.8 4.8 3018
date
:データ収集月pce
:personal consumption expenditures(個人消費支出, $)pop
:総人口(1000人)psavert
:personal savings rate(個人貯蓄率)unempmed
:median duration of unemployment(失業期間中央値, 週)unemploy
:失業者数(1000人)
geom_area( )で面グラフを描く
fill
, alpha
で面を塗りつぶす色・透過度を、color
, linetype
で線の色・種類を指定できる。
outline.type
はどの部分に線を引くかを指定するための引数。
upper
:上側のみlower
:下側のみboth
:上下両方full
:横側も含めて全部
ggplot(data = economics, aes(x = date, y = unemploy)) + geom_area(fill = "salmon", alpha = 0.5, color= "darkred", outline.type = "upper")
geom_line( )で折れ線グラフを描く
グラフィックに関係する引数の指定はgeom_area( )を参照のこと。
ggplot(data = economics, aes(x = date, y = unemploy)) + geom_line()
geom_ribbon( )でリボンプロットを描く
リボンの上縁・下縁をymin
, ymax
で指定する。グラフィックに関係する引数の指定はgeom_area( )を参照のこと。
ggplot(data = economics, aes(x = date, ymin = unemploy*0.5, ymax = unemploy)) + geom_ribbon(fill = "darkorange")
geom_step( )で階段状プロットを描く
グラフィックに関係する引数の指定はgeom_area( )を参照のこと。
引数direction
では、水平方向→垂直方向で繋いでいくか("hv"
)、垂直方向→水平方向で繋いでいくか("vh"
)を指定する。
ggplot(data = df, aes(x = x, y = y)) + geom_step(direction = "hv")
ggplot(data = df, aes(x = x, y = y)) + geom_step(direction = "vh")
geom_path( )で経路を表示する
例えば、ある物体の位置座標 (x, y) のデータがあるとき、(x, y)を移動した順にプロットして線でつなげば物体の軌跡を描くことができる。
例示用に下のようなデータを作る。
df <- data.frame(x = c(rnorm(20,0,1), rnorm(20,5,1)), y = c(rnorm(20,0,1), rnorm(20,5,1)), group = c(rep("A",20), rep("B",20)))
x y group 1 -0.5582965 -1.2303512 A 2 1.1087737 1.5771129 A 3 -0.2462958 -2.7714253 A ~~~~~(省略)~~~~~ 38 5.388052 3.456344 B 39 4.416402 4.400456 B 40 4.731257 4.035181 B
軌跡(path)をgeom_path( )で描く。
ggplot(data = df, aes(x = x, y = y)) + geom_path(aes(color = group))
おわりに
- geom_path( )はあまり使う機会がない(私は)
参考資料
- 本家ページ: