ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

pbaspect

各軸の相対的な長さの制御

構文

  • pbaspect(ratio)
  • pbaspect auto
  • pbaspect manual
  • pb = pbaspect
  • m = pbaspect('mode')
  • pbaspect(ax,___)

説明

pbaspect(ratio) は、現在の座標軸のプロット ボックスの縦横比を設定します。プロット ボックスの縦横比は、x 軸、y 軸および z 軸の相対的な長さです。ratio を、x 軸、y 軸および z 軸の長さの比率を表す正の値からなる、3 要素ベクトルとして指定します。たとえば、[3 1 1] は、x 軸の長さが y 軸および z 軸の長さの 3 倍になるよう指定します。すべての方向の軸の長さを同じにするには、[1 1 1] を使用します。

pbaspect auto では、座標軸がプロット ボックスの適切な縦横比を選択できるようにし、関連するモードを自動に設定します。座標軸の表示域に合わせる機能を有効にするには、モードが自動に設定されていなければなりません。

pbaspect manual は、axes オブジェクトの PlotBoxAspectRatio プロパティに保存されている比率を使用して、関連するモードを手動に設定します。モードが手動の場合、座標軸を表示域に合わせる機能は無効にされます。プロット ボックスの縦横比の値を指定すると、モードが手動に設定されます。

pb = pbaspect が、現在の座標軸のプロット ボックスの縦横比を返します。

m = pbaspect('mode') は現在のモードを返します。これは 'auto' または 'manual' です。プロット ボックスの縦横比を指定したりモードを手動に設定したりしない限り、既定で自動モードが使用されます。

pbaspect(ax,___) は現在の座標軸の代わりに ax で指定される座標軸を使用します。前述の構文にある任意の入力引数を組み合わせて axes オブジェクトを指定します。入力引数が文字列の場合、引数を単一引用符で囲みます (例: pbaspect(ax,'auto')pbaspect(ax,'manual'))。

すべて折りたたむ

簡単なライン プロットを作成します。x 軸、y 軸、z 軸 (非表示) をすべて同じ長さにします。

x = linspace(0,10);
y = sin(x);
plot(x,y)
pbaspect([1 1 1])

表面をプロットして x 軸を y 軸と z 軸の 2 倍の長さにします。

[x,y] = meshgrid(-2:.2:2);
z = x.*exp(-x.^2 - y.^2);
surf(x,y,z)
pbaspect([2 1 1])

プロット ボックスの縦横比を指定すると、対応するモードが手動に切り替わります。プロット ボックス縦横比の現在のモードをクエリします。

m = pbaspect('mode')
m =

manual

表面プロットを作成します。

[x,y] = meshgrid(-2:.2:2);
z = x.*exp(-x.^2 - y.^2);
surf(x,y,z)

プロット ボックスの縦横比をクエリします。値は x 軸、y 軸、z 軸の長さの比率を示します。

pb = pbaspect
pb =

    1.0000    0.9419    0.8518

2 つのサブプロットを含む Figure を作成し、関数 subplot から axes オブジェクトを返します。ax2 を関数 pbaspect の最初の入力引数に指定して、下のサブプロットのプロット ボックスの縦横比を設定します。

ax1 = subplot(2,1,1);
surf(peaks)

ax2 = subplot(2,1,2);
plot(peaks)
pbaspect(ax2,[2 1 1])

入力引数

すべて折りたたむ

プロット ボックスの縦横比。正の値の 3 要素ベクトルとして指定します。たとえば、pbaspect([3 2 1])x 軸、y 軸、z 軸のそれぞれの長さの比率が 3 対 2 対 1 になるよう指定します。その場合、x 軸が一番長く、z 軸が一番短くなります。

比率を指定すると、axes オブジェクトの PlotBoxAspectRatio プロパティが指定した値に設定されます。PlotBoxAspectRatio プロパティは DataAspectAspectRatioXLimYLimZLim の各プロパティと連動して、x 軸、y 軸、z 軸の長さとスケールを制御します。

比率を指定すると、PlotBoxAspectRatioMode プロパティが 'manual' に設定され、座標軸の表示域に合わせる動作が無効になります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

axes オブジェクト。axes オブジェクトを指定しない場合、pbaspect は現在の座標軸 (gca) を使用します。

出力引数

すべて折りたたむ

現在のプロット ボックスの縦横比。x 軸、y 軸、z 軸の長さの比率を表す値からなる、3 要素ベクトルとして返されます。

プロット ボックスの縦横比の値をクエリすると、axes オブジェクトの PlotBoxAspectRatio プロパティの値が返されます。

現在のプロット ボックスの縦横比のモード。'auto' または 'manual' として返されます。モードが自動の場合、プロット ボックスの適切な縦横比が座標軸によって決定されます。値を指定した場合、モードは手動に切り替わります。

プロット ボックス縦横比のモードをクエリすると、axes オブジェクトの PlotBoxAspectRatioMode プロパティの値が返されます。

詳細

すべて折りたたむ

表示域に合わせる

表示域に合わせる機能が有効になっている場合、利用可能な領域に合わせて MATLAB® は座標軸を拡大します。その際、ある程度の歪みが生じる可能性があります。そのため座標軸が、その DataAspectRatioPlotBoxAspectRatio および CameraViewAngle プロパティに格納されているデータの縦横比、プロット ボックスの縦横比およびカメラ ビューの角度の値と正確に一致しなくなる場合があります。表示域に合わせる機能を無効にすると、MATLAB は使用可能な領域内で座標軸を最大限に拡大しつつ、歪みの生じないようプロパティ値を厳密に維持します。axes オブジェクトの Position プロパティにおける最後の 2 要素は、使用可能な領域を決定します。

表示域に合わせる機能は、axes オブジェクトの DataAspectRatioModePlotBoxAspectRatioMode および CameraViewAngleMode プロパティがすべて 'auto' に設定されていると有効になります。1 つ以上のモードが手動である場合、この機能は無効になります。したがって、データの縦横比、プロット ボックスの縦横比、カメラ ビューの角度のいずれかを指定した場合、表示域に合わせる機能は無効となります。

たとえば、次の図は、表示域に合わせる機能を使用した場合と使用しない場合の同じプロットを示しています。点線は、Position プロパティで定義されている使用可能な領域を示しています。どちらのバージョンも、データの縦横比、プロット ボックスの縦横比、カメラ ビューの角度の値は同じです。ただし、左側のプロットでは拡大によりいくらかの歪みが生じています。

表示域に合わせる機能が有効 (歪みあり)表示域に合わせる機能が無効 (歪みなし)

参考

| | | |

R2006a より前に導入

この情報は役に立ちましたか?