裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

ggplot2 って,ちっとも簡単じゃないよ!

2019年12月25日 | ブログラミング

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)

 

 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ggplot2 - ひいきの引き倒し(6) | トップ | ggplot2 って,ちっとも簡単... »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事