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. 学会・会議で英語が絶望的にできなくて困るケース | オンライン開催で「英語力のなさ」を痛感した場合の対処法

    学会・会議で英語ができなくてに困るケース学会やイベント・会議などが、オンラインで開催される…
  2. r tidyverse 使い方 | 列 filter 絞り込み select関数 – dplyrパッケージ

    tidyverseで1つのデータフレームの列の絞り込みは、dplyrパッケージのselect関数を…
  3. プログラミングで疲れた脳をリフレッシュ 〜 鬼滅の刃「感動」と「やる気アップ」でストレス発散!

    ストレス発散は鬼滅で。「50%OFF」で読む!脳のパフォーマンスを上げるには、適度な休憩と…
  4. AWS ディスク容量不足 新しいボリュームを追加する

    バイオインフォマティクスでは大きなファイルを扱うことがあるので、ディスク不足に陥ることがあります。…
  5. 「知っている」と「知らない」とでは、もしものとき、大違いになる – コロナうつ対策

    コロナうつなどという言葉を聞くようになりましたが、派遣切り、解雇、リストラは、これから本格化します…

人気記事

  1. Excel, 統計

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

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  3. IGV, 解析ツール

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

おすすめ記事

  1. R言語, グラフ

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

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

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