猫も杓子も構造化

発達障害、特別支援などについて書いています。最近は心理学関係の内容が多めです。

ggplot2の練習その1

Rで美しいグラフを描きたい欲が急に湧いたため次の本を買った。

Rグラフィックスクックブック ―ggplot2によるグラフ作成のレシピ集

Rグラフィックスクックブック ―ggplot2によるグラフ作成のレシピ集

ggplot2の存在は今までも知っていたが、どうも使い方に慣れずかつ必要性もそんなになかったのでデフォルト関数でやってきたけれどオシャレグラフが私を呼んだので練習を始めた。

データは何でもよかったので、特別支援学校の在学生数あたりを手始めに。文科省のページでエクセルが公開されている。

文部科学統計要覧(平成29年版):文部科学省

和暦が嫌いなのでちゃちゃっと西暦に直して必要な部分を読み込ます。ライブラリを呼び出し、とりあえずプロットしてみる。qplot()関数で描ける。

library(ggplot2)

qplot(dat$, dat$在学者数)

f:id:nekomosyakushimo:20180302134907p:plain



日本語が文字化けしているがオシャレ感漂うプロットができた。xとyをデータフレームのラベルで指定して,dataの引数にデータフレームを指定する方法でもいける。

qplot(, 在学者数, data=dat)

文字化け問題はテーマを設定すれば良いらしい。theme_grayのフォントをbase_familyでヒラギノに指定してやれば解決するようだ。

#日本語文字化け対策
theme_set(theme_gray(base_family="HiraKakuProN-W3"))

f:id:nekomosyakushimo:20180302140008p:plain



折れ線にしたければ引数のgeomでlineを指定する。

#折れ線
qplot(, 在学者数, data=dat, geom="line")

#折れ線と点
qplot(, 在学者数, data=dat, geom=c("point","line"))

f:id:nekomosyakushimo:20180302140354p:plainf:id:nekomosyakushimo:20180302140407p:plain



軸の区切りをもう少し細かくしたい場合は次のようにするとできる。

#x軸の区切りを細かく
p <- qplot(, 在学者数, data=dat, geom=c("point","line"))
p + scale_x_continuous(breaks=seq(1960,2015, by=10))

f:id:nekomosyakushimo:20180302142040p:plain

基本はパーツ単位で設定していくようだ。とりあえずここまで。