図の軸のメモリのフォントサイズ
Rで図を描く際、軸のテキストが大きすぎて表示したい内容がすべて表示されなくなってしまう場合があります。
そんな時に、テキストサイズを調整するにはcex.axisを利用します。
例
例えば、以下のグラフではn=2,p=0.6の二項分布の確率質量関数のグラフを書いていますが、
本来、X=1の確率の部分に”48%”と表示したいのですが、欠けてしまっています。
#日本語を出力可能にする。 par(family = "HiraKakuProN-W3") #二項分布のプロットを描く。 plot(dbinom(seq(0,2,by=1),2,0.6), ylim=c(0,0.6), xaxt="n",yaxt="n", xlab="表が出る回数", ylab="確率",pch=20, main="コインを2回投げたときのX") # y軸(縦軸)に表示する内容の作成。 tickValues <- c(0.16,0.48,0.36) tickStrings <- sprintf("%s",c("16%","48%","36%")) # x軸(横軸)のラベルを書き入れる。 axis(side=1, at=1:3, labels=0:2) #y軸(縦軸)のラベルを書き入れる。 axis(side=2, at=tickValues, labels=tickStrings)
上記コードの14行目に"48%"と指定しているのにも関わらず、グラフ上では48%が見えなくなっています。
ですので、以下のように22行目でcex.axis=0.6を利用し、文字サイズを小さくします。
#cex.axis=0.6 #日本語を出力可能にする。 par(family = "HiraKakuProN-W3") #二項分布のプロットを描く。 plot(dbinom(seq(0,2,by=1),2,0.6), ylim=c(0,0.6), xaxt="n",yaxt="n", xlab="表が出る回数", ylab="確率",pch=20, main="コインを2回投げたときのX") # y軸(縦軸)に表示する内容の作成。 tickValues <- c(0.16,0.48,0.36) tickStrings <- sprintf("%s",c("16%","48%","36%")) # x軸(横軸)のラベルを書き入れる。 axis(side=1, at=1:3, labels=0:2) # y軸(縦軸)のラベルを書き入れる。 axis(side=2, at=tickValues, labels=tickStrings, cex.axis=0.6) #文字を小さく
すると以下のように、テキストサイズが小さくなって、すべて指定したものが表示されていますね。
なお、cex.axis=1がデフォルトのサイズで、cex.axis=2などのように1より大きい値を指定すると、デフォルトサイズよりテキストを大きくできます。