R 使い方 凡例・エラーバー・グラフ保存などの図の仕上げ グラフの描き方

バイオインフォ道場、くまぞうです。

「統計ソフト R」によるチャートやグラフの描画は、手軽で大変便利です。ただ、仕上げには細かい調整が必要です。今回は、そのようなときに役立つ「凡例」や「エラーバー」の描き方に関するテクニックをまとめます。

スポンサーリンク



図を仕上げるときに必要なこと

図はplot関数を使えば、手軽に生成できます。しかし、仕上げには「凡例」の追加が必要だったり、「エラーバー」の追加が必要だったりします。たまには、図中に「説明語句」の文字列情報を書き加える必要があるかもしれません。それらは、legend関数text関数arrows関数を利用することで、図に情報を書き込むことができます。

凡例を書き加える

凡例は、legend関数で付け加えると便利です。位置やマーク・枠の有無などを設定できます。

主な制御パラメータ

パラメータ 機能
場所 凡例の表示位置を指定 “topright”, x=”left”, y=”center”
legend 凡例の内容 legend=c(“sin”, “cos”), levels(factor)
pch/lty 凡例に付与するマーク pch=as.integer(iris$Species), lty=1:2

散布図

R> plot(Sepal.Length ~ Sepal.Width, data=iris, pch=as.integer(iris$Species))
R> legend("topright", legend=levels(iris$Species), pch = 1:3)

legend1

線グラフ

R> plot(sin, type="l", lty=1, xlim=c(-2, 2), ylim=c(-2, 3), ylab="")
R> par(new=T)
R> plot(cos, type="l", lty=2, xlim=c(-2, 2), ylim=c(-2, 3), ylab="sin & cos")
R> legend("bottomright", lty=1:2, legend=c("sin", "cos"), bty="n")
R> legend(x="right", y="center", lty=1:2, legend=c("sin", "cos"))
R> legend("center", lty=1:2, legend=c("SIN", "COS"))

legend2

文字を書き加える

文字は、text関数で座標指定で付け加えることができます。尚、expression関数を使うと、数式の書き込みが可能です。

R> plot(1)
R> text(1, 1.2, "hello world!")
R> text(0.8, 1, expression(sum(x[i], i=1, n)))
R> text(1.2, 1, expression(integral(f(x) * dx, a, b)))

text

エラーバーを描き加える

エラーバーは、arrows関数を使って書き加えると良いです。arrows関数は、本来、図中に矢印を描き加える関数です。「始点・終点の座標」と「矢印の形状」を指定して矢印を描きます。エラーバーとして描く場合の矢印の形状は、angle=90code=3を指定すると良いです。ちなみに、angleの値を変更すると形状が矢印っぽく(<-->)なり、codeの値を変更すると「始点のみ・終点のみ・両方」を変更できます。矢印の配置場所については、barplotの戻り値(myplot <- barplot(...) )にグラフの位置が格納されているので、それを利用するのが簡単です。

R> iris.mean <- tapply(iris$Sepal.Length, iris$Species, mean)
R> iris.sd <- tapply(iris$Sepal.Length, iris$Species, sd)
R> myplot <- barplot(mean.iris, ylim=c(0, 9))
R> arrows(myplot, iris.mean - iris.sd, myplot, iris.mean + iris.sd, angle=90, code=3)

error_bar

イメージファイルとして保存する

Rで作図した図は、pngイメージファイルやpdfとして簡単保存することができます。

pngファイルとして保存

R> png("sin.png")
R> plot(sin, type="l", lty=1, xlim=c(-2, 2), ylim=c(-2, 3))
R> dev.off()

pdfファイルとして保存

R> pdf("sin.pdf")
R> plot(sin, type="l", lty=1, xlim=c(-2, 2), ylim=c(-2, 3))
R> dev.off()

sin

スポンサーリンク



2 thoughts to “R 使い方 凡例・エラーバー・グラフ保存などの図の仕上げ グラフの描き方”

コメントは受け付けていません。