Why I don't use ggplot2
で,
ggplot() + geom_point(data = quakes, aes(x = lat, y = long, colour = stations))
の一行で以下のような図が描けるのはかなり驚くべき事だ。
中略。しかし,ちゃんとした図であるためには,(1) 軸を大きくし,(2) ラベルを大きくし,(3) ラベルをフルネームで,(4) 凡例のタイトルも省略名ではなく詳しく描く必要がある。
などと書いている。その他にも,(5) バックグラウンドは白,(6) グリッドラインは描かない,(7) 図の周りの枠は描かない,(8) 軸,ティックマークおよび目盛り文字を灰色でというようなことも必要だろう。タイトル,サブタイトル,キャプションは,このような図を引用する側で付ける(例えば LaTeX の figure 環境では,LaTeX 側で付ける)のでなくてもよいだろう。
つまり,以下のような図である。
あなたは,上の図と比べてどのように評価するだろうか?
上の 1 行だけのプログラムに,どれだけ追加書きすれば良いのだろうか?
キーワードでググりながら,書いてみた。以下のようになった。ggplot2 のヘビーユーザーなら,もっともっと少ない行数で書けるのかもしれないが。できるようだったら教えて欲しい。
library(ggplot2)
data(quakes)
p = ggplot()
p = p + geom_point(data = quakes, aes(x = lat, y = long, colour = stations)) + # 最初の 1 行プログラム
labs(
title = "Locations of Earthquakes off Fiji", # 図のタイトル
subtitle = "The locations of 1000 seismic events of MB > 4.0", # 図のサブタイトル
caption = "This is one of the Harvard PRIM-H project data sets.", # 図のキャプション
x = "Latitude ", # x 軸ラベル
y = "Longitude", # y 軸ラベル
colour = "Number of\n stations\n reporting" # 凡例の説明書き
) +
theme(
plot.title = element_text(size = 16, hjust = 0.5), # タイトルの文字サイズと位置
plot.subtitle = element_text(size = 14, hjust = 0.5), # サブタイトルの文字サイズと位置
axis.line = element_line(colour = "gray"), # 軸の色
axis.ticks = element_line(colour = "gray"), # ティックマークの色
axis.text = element_text(size = 12), # 軸の目盛り文字の大きさ
axis.title = element_text(size = 14), # 軸の名前の茂治の大きさ
panel.border = element_blank(), # 図の周りに枠を描かない
panel.grid.major = element_blank(), # 主グリッドラインを描かない
panel.grid.minor = element_blank(), # 副グリッドラインを描かない
panel.background = element_blank() # バックグラウンドを白にする
)
print(p)
※コメント投稿者のブログIDはブログ作成者のみに通知されます