R システムでのグラフ作成では,各種パラメータを使って,グラフを細かく調整することができる.このページでは, 点と折れ線の重ね合わせ,タイトル付け, x,y値の範囲,対数目盛り,xy比,グラフィックパラメータ (点の色や大きさや形,線の色やスタイルや太さ)を調整する手順を図解で示す.
まずは,plot() 関数を使い,x, y 値を指定しての散布図の作成を行う.
x 値を格納したベクトル,y 値を格納したベクトルを引数として plot() 関数を使うと,散布図が描かれます.
◆ Ubuntu の場合の実行手順例
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y ) RCOMMAND
◆ Ubuntu の場合の実行手順例
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="l" ); RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="b" ); RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="c" ); RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="o" ); RCOMMAND
main と sub を使用. メインタイトルはグラフの上に,サブタイトルはグラフの下に書かれる.
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, xlab="x軸のタイトル", sub="y軸のタイトル" ) RCOMMAND
xlab と ylab を使用.
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, xlab="x軸のタイトル", ylab="y軸のタイトル" ) RCOMMAND
expression オブジェクトを使う.
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' r = RSRuby::instance r.eval_R(<<-RCOMMAND) X <- seq(1, 5, length=100) Y <- exp(-.5 * log( X^2 ) ) plot(X, Y, type="o", xlab="x", ylab=expression(e^{-frac(1,2) * {log[10](x)}^2}) ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, xlim=c(0,10), ylim=c(0,6) ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, log="x" ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, log="y" ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, log="xy" ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, panel.first=grid(8,8) ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, panel.first = lines(stats::lowess( x, y ), lty="dashed") ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, asp="0.4" ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="o", col="red" ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="o", pch = 0 ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="o", cex=4 ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="o", lty=2 ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="o", lty=3 ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="o", lty=5 ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="o", lty=5 ) RCOMMAND
export R_HOME=/usr/lib/R irb -Ku require 'rubygems' require 'rsruby' T = { "x"=>[1, 2, 3, 4, 5, 6, 7, 8], "y"=>[3, 3, 4, 4, 2, 3, 4, 5] } r = RSRuby::instance r.eval_R(<<-RCOMMAND) x <- matrix( c( #{T["x"].join(",")} ), 1, #{T["x"].size} ) y <- matrix( c( #{T["y"].join(",")} ), 1, #{T["y"].size} ) plot( x, y, type="o", lwd=4 ) RCOMMAND
Usage
plot(x, y, ...)
Arguments
See Also plot.default, plot.formula and other methods; points, lines, par.
Usage
plot(x, y = NULL, type = "p", xlim = NULL, ylim = NULL, log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL, ann = par("ann"), axes = TRUE, frame.plot = axes, panel.first = NULL, panel.last = NULL, asp = NA, ...)
Arguments
Usage
Commonly used graphical parameters are:
References
See Also plot, plot.window, xy.coords.