Symfoware

Symfowareについての考察blog

R言語 折れ線グラフを画像ファイルに出力する

R言語で折れ線グラフをpngファイルに出力する方法をメモしておきます。

実行はDebian 7にインストールしたR 3.1.1です。
Debian 7にRの実行環境(3.1.1)をapt-getでインストールする



簡単なプロット



48. とりあえず plot()
こちらを参考にさせていただきました。

image.pngというファイルにグラフを描画してみます。
以下の内容を「sample.R」というファイルに保存します。


  1. # 画像ファイルへの出力ドライバを用意
  2. png("image.png", width = 500, height = 500, pointsize = 12, bg = "white")
  3. # x軸、y軸のデータを用意
  4. # c(リスト)でベクトルデータを作成
  5. x <- c(1,2,3,4,5,6,7,8,9,10)
  6. # 開始:終了でベクトルデータを生成
  7. y <- 1:10
  8. # ※xとyは参考として異なる作成方法を使用しているが内容は同じ
  9. # plot関数でデータを配置
  10. plot(x, y)
  11. # この時点で画像の出力は終了している
  12. # 作法としてデバイスを閉じる
  13. graphics.off()




Rscriptコマンドで実行。


# Rscript sample.R




sample.Rと同じ階層にimage.pngが出力されます。
これはお手軽。

475_01.png





プロットの種類



plot関数に引数を与えることで、グラフの種類を切り替えることができます。
プログラム状はこんな感じ


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. x <- 1:10
  3. y <- 1:10
  4. # plot関数でデータを配置
  5. # type="l"で線プロット(折れ線グラフ)を指定
  6. plot(x, y, type="l")
  7. graphics.off()





指定できるグラフの種類です。

typeで指定する文字機能
p点プロット(デフォルト)
l線プロット(折れ線グラフ)
b点と線のプロット
c"b" において点を描かないプロット
o点プロットと線プロットの重ね書き
h各点から x 軸までの垂線プロット
s左側の値にもとづいて階段状に結ぶ
S右側の値にもとづいて階段状に結ぶ
n軸だけ描いてプロットしない(続けて低水準関数でプロットする場合)


各々のオプションで表示してみました。

475_02.png

475_03.png

475_04.png

475_05.png

475_06.png

475_07.png

475_08.png

475_09.png

475_10.png





グラフの範囲指定



xlim,ylimで描画するグラフの範囲が指定できます。

xが0から5、yが5から10の範囲でグラフをプロットしてみます。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. x <- 1:10
  3. y <- 10:1
  4. plot(x, y, xlim=c(0,5), ylim=c(5,10))
  5. graphics.off()




475_11.png






グラフタイトル等の指定



グラフのタイトル:main="Title"
サブタイトル:sub="SubTitle"
x軸の座標名:xlab="X-Label"
y軸の座標名:ylab="Y-Label"

設定を試してみます。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. x <- 1:10
  3. y <- 1:10
  4. plot(x, y, main="タイトル", sub="サブタイトル", xlab="X軸名", ylab="Y軸名")
  5. graphics.off()




どうせ日本語は文字化けするんでしょ?と思っていたのですが普通に表示されました。

475_12.png





タイトル、軸の非表示



ann = Fを指定すると、仮にタイトルを指定していたとしても
タイトル、軸名称共に非表示になります。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. x <- 1:10
  3. y <- 1:10
  4. plot(x, y, main="タイトル", sub="サブタイトル", ann = F)
  5. graphics.off()




475_13.png


R言語 掲載記事のまとめ
関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/10/05(日) 22:57:57|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<R言語 プロットの形状、大きさ、色を指定する | ホーム | R言語 文字の出力 スクリプトの実行 関数 コメントの書き方>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1499-9c243ae2
この記事にトラックバックする(FC2ブログユーザー)