| MATLAB Function Reference | ![]() |
表示
subplot(m,n,p) subplot(h) subplot('Position',[left bottom width height]) h = subplot(...)
詳細
subplot は、カレントの Figure を行方向で番号付けられた長方形の面に分割します。各面は、Axes をもちます。プロットは、カレントの面に出力されます。
subplot(m,n,p)
は、Figure を m 行 n 列の長方形の面に分割し、p 番目の面に、Axes を作成します。新しい Axes がカレントの Axes になります。p がベクトルの場合、p に設定されている、すべての位置をカバーするように、axes を設定します。
subplot(h)
は、後に続くプロットコマンドに対して、 h で識別される Axes をカレントにします。
subplot('Position',[left bottom width height])
は、4 要素のベクトルで指定した位置に Axes を作成します。left, bottom, width, height は、0.0 と 1.0 の範囲で正規化された座標です。
h = subplot(...)
は、新しい Axes のハンドル番号を出力します。
注意
subplot の仕様により、新しいAxesを既存のAxesに上書きする場合、subplotは、既存のAxesを消去します。subplot(1,1,1)、または、clfは、すべての Axes オブジェクトを消去し、デフォルトの subplot(1,1,1) の設定に戻します。
subplot mnp のように、括弧を省略して、サブプロットを指定できます。
ここで、m は行を、n は列を参照し、p は各プロットを参照します。
特殊な場合 - subplot(111)
コマンドsubplot(111)は、subplot(1,1,1)と同じ表示はしません。以前のバージョンとの互換性のためのみに存在しています。このシンタックスは、直ちにAxesを作成せず、Figureを設定して、つぎのグラフィックスコマンドが、clf resetを実行して(すべてのFigureの子を消去)デフォルトの位置に新規のAxesを作成します。このシンタックスは、ハンドル番号を出力しないので、出力引数を指定するとエラーになります(この挙動は、FigureのNextPlotプロパティをreplaceに設定すると生じます)。
例題
income をFigureの上半分に、outgo を下半分にプロットします。
income = [3.2 4.1 5.0 5.6]; outgo = [2.5 4.0 3.35 4.9]; subplot(2,1,1); plot(income) subplot(2,1,2); plot(outgo)
つぎの図は、4つのサブプロット領域を示し、それぞれを作成するために使用するコマンドを示します。

参考
| sub2ind | subsasgn | ![]() |