複雑な条件判断を含むような関数でも簡単に描ける。 数式の書き方でgnuplotと異なるのは、冪乗 だけである。
条件判断はif構造を使うか、
ベクトルの要素指定でもある程度できる
(plot( x[abc < 0], y[abc < 0], type="l")
は
abc< 0のデータのみをプロットする)。
xにベクトルとして、グラフにしたい範囲の値を細かくとって与える。 そのxを使って関数を計算し、yに与える。 plot(x, y, type="l")とすればよい。(勿論、名前は、 x, yに限ることはない。type="l"は点を描かず線で結ぶこと。 もし、点も線も出したなら、"o"または"b";違いは何か?)。 軸を対数にするには、log="x", log="y", log="xy"等を関数の中に指定すればよい。
x, y 軸のラベル、グラフの表題、等を与えるには、
plot(x, y, ..., xlab="Temperature(deg)", ylab="Concentration(%)", main="Concentration of Super-matter")等のようにすればよい。表題等は、title関数で別に与えてもよい (title(xlab="...", ylab="...", main...))。
複数のグラフを重ねる時は、
あらかじめyの範囲が分かっていれば、最初の枠とりで指定する。
plot(c(-100, 100), c(0, 20), type="n", xlab=...)
としてから、points関数やlines関数で書き加えていけばよい。
これは、xの範囲が、yの範囲が
なことを示している。type="n"
がないと、左下と右上の点を描いてしまう。
範囲が分からない時は、グラフを一度描いて見る。 最大の範囲を与えるグラフを見つけ、それを最初に描いてみてもよい。 その後で、points(x, y, type="l")とすれば、グラフは重なる。
ps()を使えば、用紙1枚に1グラフ、 ps2()、ps4()を使えば、 それぞれ2、4つのグラフが描ける。ps4の定義をまねして、 参考書の383ぺージを参照すれば、1枚に20の小さいグラフを入れることも 可能になる。ファイルに保存する時はps形式になる。epsにするには、 一度Drawplusに取り込む必要がある。アイコンをドラッグするだけでDrawPlus の画面に取り込める。
軸の線を太くする、軸の形式を変える、その他いろいろな指定は
par関数を調べればよい。