ggplot2

ggplot2 は R のグラフ描画ライブラリーの一つであり、グラフを美しく描けるだけでなく、データを効率的に視覚化することができる。はじめはやや使いにくいと感じることがあるかもしれないが、慣れれば R の標準関数よりも使い勝手がいいと思うようになる。

ggplot を利用したグラフ描画では、レイヤーを次々と重ねてグラフを完成するようなイメージである。

  1. データを ggplot2 用に変形。
  2. どのデータを x 軸、どのデータを y 軸、色の塗り分けをどうするかを設定する。
  3. グラフを描く。例えば、散布図に回帰直線が書き入れられているグラフの場合は、「散布図のグラフ」と「回帰直線のグラフ」の 2 枚のレイヤーが必要となる。ここで必要なだけのレイヤーを作成する。
  4. 必要であればグラフのタイトル、座標ラベルや凡例を指定する。
  5. plot 関数ですべての上を重ねあわせて作図する。
library(reshape2)
library(ggplot2)

# 0. サンプルデータ作成
data <- data.frame(A = rnorm(1000, 10, 2),
                   B = rnorm(1000, 15, 2))

# 1.データをデータフレームに変換
df <- melt(data)

# 2. データのセットアップと色や塗りの設定
g <- ggplot(
  df,
  aes (
    x = value,
    y = ..density..,
    fill = variable
  )
)

# 3. グラフをレイヤー描く
g <- g + geom_histogram(alpha = 0.5) # ヒストグラムレイヤーを追加
g <- g + geom_density(alpha = 0.1)   # 密度曲線のレイヤーを追加

# 4. 座標軸ラベルを指定
g <- g + xlab("x label")
g <- g + ylab("y label")

# 5. 描画
plot(g)
ggplot 関数機能
geom_point散布図
geom_line折れ線グラフ
geom_bar棒グラフや積み上げ棒グラフ
geom_histogramヒストグラム
geom_tileヒートマップ
geom_density密度曲線
geom_boxplotボックスプロット(箱ひげ図)
geom_errorbarエラーバー (geom_bargeom_line に利用例がある)
scale_colour_brewer
scale_colour_manual
scale_fill_brewer
scale_fill_manual
グラフの色の調整
scale_x_continuous
scale_y_continuous
plot 関数の xlim, ylimgrid 関数の機能
facet_grid複数のグラフを一枚の図に描く
有効数字軸ラベルを 2×102 などの表示に変更する方法

その他 ggplot2 の利用例

エラーなど

ggplot などでプロットするとき、半透明がサポートされていないようなエラーが出る場合がある。

semi-transparency is not supported on this device

この時、Cairo 関連のライブラリーを追加して、R を再コンパイルすることで解決できる。

sudo apt-get install libcairo2-dev
sudo apt-get install libxt-dev