mikeo_410
  1. 3.R
    1. 1.Rの常套句
    2. 2.いろいろ(R)
    3. 3.座標の引数(ベクトル、matrix、bind、list)
    4. 4.plot
    5. 5.RGL
    6. 6.ラグランジュの未定乗数法(Rsolnp)
    7. 7.常微分方程式の汎用解法(deSolve)

plot

1. 基本的なこと

グラフを描く関数は、plot() や lines()、points() などがありますが、plot() が始まりで、他の関数はplotが確保した領域に描画します。

plotが最初に描いた図の範囲か、xlim、ylimで明示的に指定した範囲がグラフに描かれる範囲として決まります。その後の lines() などの関数は、その範囲で、スケーリングされて描画されます。範囲外の部分は描かれません。

plotのデフォルトは t="p" の状態で小さな丸を指定された座標の数だけ描きます。線を描くには t="l" と指定する必要があります。

par(new=TRUE) に続く plot() は、lines() などと同様に、前のplotの領域に描画します。

2. 余白

自分で見るだけなのでデフォルトの表示で十分ですがページに張る場合には余白が大き過ぎます。

覚えられないので、必要になると前のものを探し出して張り付けています。

  1. par(mar=c(3,3,1,1),mgp=c(1.5, 0.5, 0))

何を指定しているのか改めて調べておきます。

mar は、表示領域全体からグラフの外枠までのマージンのようです。

下、左、上、右 の順で指定します。単位は行のようです。x軸の「下」、y軸の「左」は、軸の見出し、目盛りの値、目盛りの刻みが描かれることになります。「上」はタイトル、「右」は通常は何も書きません。右にも目盛りを付ける場合は広げることになります。

mgpはグラフの外枠から、1)軸の見出し、2)目盛りの値、3)目盛りの刻み、までの間隔です。

目盛りの刻みのマークは、グラフの外枠と重なっているのが良いと思っています。

3. タイトルの文字サイズ

タイトルは plot に main="タイトル" と書いたり、title() を使って描きます。デフォルトでは少し大きく、

cex.main=0.8 のように指定しています。

4. 複数のグラフを1つに

2行3列(横に3つを2段)描くには以下のように指定します。

  1. par(mfrow = c(2, 3))

その後のplot()で順次配置されます。

split.screen() を使う方法もあるようです。

5. windows()、dev.set()

windows() は、幅、高さを指定して新たなグラフィックデバイスを開きます。グラフィックデバイスは番号で識別されます。plot() などの関数が作用するデバイスは、dev.set(n) のように設定できます。

現在のデバイスはdev.cur()で確認できます。dev.list()はデバイスの一覧を表示します。

windows() では、7がデフォルトの幅、高さのようですが単位は良く分かりません。

(例えば、円を描けば丸く見えて欲しいのですが、縦横比を指定する方法は分かりません。)


題目一覧へmikeo_410@hotmail.com(updated: 2022/12/27)