ドキュメンテーション

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

daspect

各軸でのデータ単位の長さを制御

構文

  • daspect(ratio)
  • daspect auto
  • daspect manual
  • d = daspect
  • m = daspect('mode')
  • daspect(ax,___)

説明

daspect(ratio) は、現在の座標軸におけるデータの縦横比を設定します。データの縦横比は、x 軸、y 軸および z 軸のデータ単位の相対的な長さです。各軸でのデータ単位の相対的な長さを表す正の値からなる 3 要素ベクトルとして、ratio を指定します。たとえば、[1 2 3] は、x 軸の 0 から 1 までの長さが y 軸の 0 から 2 までの長さ、および z 軸の 0 から 3 までの長さに等しいことを示します。すべての方向でデータ単位の長さが等しい場合は、[1 1 1] を使用します。

daspect auto は、座標軸にデータの縦横比を選択させ、それに対応するモードを自動に設定します。座標軸の表示域に合わせる機能を有効にするには、モードが自動に設定されていなければなりません。

daspect manual は、axes オブジェクトの DataAspectRatio プロパティに格納されている縦横比を使用し、それに対応するモードを手動に設定します。モードが手動の場合、座標軸の表示域に合わせる動作は無効になります。データの縦横比の値を指定すると、モードが手動に設定されます。

d = daspect は、現在の座標軸におけるデータの縦横比を返します。

m = daspect('mode') は現在のモードを返します。これは 'auto' または 'manual' です。データの縦横比の指定やモードの手動への設定を行わない限り、モードは既定で自動となります。

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

すべて折りたたむ

一連のデータをプロットします。データの縦横比を [1 1 1] に設定して、すべての方向で等しい長さのデータ単位を使用します。

t = linspace(0,2*pi);
x = cos(t);
y = sin(t);
plot(x,y)
daspect([1 1 1])

一連のデータをプロットします。x 軸方向の 1 データ単位の長さが、y 軸方向および (非表示の) z 軸方向の 2 データ単位と等しくなるよう、データの縦横比を設定します。

t = linspace(0,2*pi);
x = cos(t);
y = sin(t);
plot(x,y)
daspect([1 2 2])

データの縦横比を設定すると、それに対応するモードが手動に変更されます。現在のデータ縦横比のモードをクエリします。

d = daspect('mode')
d =

manual

表面プロットを作成し、クエリします。

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

データの縦横比をクエリします。縦横比は、x 軸方向の 4 単位が、y 軸方向の 4 単位および z 軸方向の 1 単位に等しいことを示します。たとえば、x 軸の 0 から 1 までの長さは、y 軸の 0 から 1 までの長さおよび z 軸の 0 から 0.25 までの長さに等しくなります。

d = daspect
d =

     4     4     1

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

ax1 = subplot(2,1,1);
plot(1:10)

ax2 = subplot(2,1,2);
plot(1:10)
daspect(ax2,[1 2 1])

入力引数

すべて折りたたむ

データの縦横比。正の値の 3 要素ベクトルとして指定します。たとえば、daspect([1 2 3]) は、x 軸の 1 単位の長さが y 軸の 2 単位、および z 軸の 3 単位の長さに等しくなるよう指定します。

データの縦横比を指定すると、axes オブジェクトの DataAspectRatio プロパティが設定されます。DataAspectRatio プロパティは PlotBoxAspectRatioXLimYLimZLim の各プロパティと連動して、x 軸、y 軸、z 軸の長さとスケールを制御します。

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

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

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

出力引数

すべて折りたたむ

現在のデータの縦横比。x 軸、y 軸、z 軸でのデータ単位の長さの比率を表す値からなる、3 要素ベクトルとして返されます。

データの縦横比の値をクエリすると、対応する axes オブジェクトの DataAspectRatio プロパティの値が返されます。

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

データの縦横比のモードをクエリすると、対応する axes オブジェクトの DataAspectRatioMode プロパティの値が返されます。

詳細

すべて折りたたむ

表示域に合わせる

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

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

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

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

参考

| | | |

R2006a より前に導入

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