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

実験データの解析や論文用グラフ作成のヒントになりそうな、プログラミング・統計処理の参考になる書籍をまとめて紹介しています。是非、参考にしてみて下さいね。



ピックアップ記事

  1. R 使い方 グラフの色 自作のカラーパレットとデフォルトのカラーパレット

    グラフを描画する際、色の組み合わせを1つ1つ考えるのは面倒ですよね。Rには、あらかじめ色の組み合わ…
  2. tidyverse – distinct関数でデータフレームの重複行を削除 dplyrパッケージ

    tidyverseでデータフレームの重複行の削除を行う場合、dplyrパッケージのdistinct…
  3. R subset関数 データフレームやmatrixからの条件指定による行・列の抽出

    R の subset関数は、データフレームやマトリックスから条件にマッチした部分集合を取り出します…

人気記事

  1. R データ型 - 文字列・ベクター・データフレーム・マトリックス など-, R言語, スクリプト

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  2. Excel, その他, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…
  3. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…

おすすめ記事

  1. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…
  2. bash 応用, シェルスクリプト

    シェル スクリプト ファイル存在チェック・空のファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  3. awk, bash 文字列操作, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…