J

ggplot2 で coord_trans() を使って軸スケールを変更する方法

まず,普通にプロット

g <- ggplot()
g <- g + geom_point(data=diamonds, aes(carat, price))
print(g)

f:id:joker1110:20110803191408p:image:w360

x軸をlogスケールに,y軸を逆数にする

g <- g + coord_trans(xtrans="log", ytrans="inverse")
print(g)

f:id:joker1110:20110827122134p:image:w360
目盛の位置はそのままに,スケールだけ変わっていることが分かる.
データを見やすくするために軸スケールを変更する場合は有効だ.

coord_trans()で定義できるスケールは以下の通り.

log 自然対数 log10 底10の対数軸
log2 底2の対数軸 sqrt 平方根
pow 2の累乗 pow10 10の累乗
prob ? probit ?
atanh ? asn ?
exp 指数 logit ?
reverse 正負逆向き inverse 逆数

なお,この表の値は scale_x_??? にそのまま利用可能.