ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

Axes の縦横比について

表示域に合わせる

Axes は各軸のスケーリングと範囲を設定することによってグラフィックス オブジェクトを作成します。グラフを作成すると、プロットされたデータの値またはサイズを基に、軸のスケールは自動的に決められます。そして表示可能な空間に適するように Axes は描画されます。縦横比プロパティは、MATLAB® がグラフ作成に必要なスケーリング方法をコントロールします。

既定の設定では、MATLAB がプロット用に作成する Axes のサイズは、Figure ウィンドウのサイズに正規化されます(ただし、境界のために若干小さくなってしまいます)。Figure のサイズを変更する場合、Axes のサイズと縦横比 (幅と高さの比) も比例して変化します。これによって、Axes は常にウィンドウ内で使用できる空間全体を扱うことができます。また MATLAB は、xyz 軸の範囲を各方向で解像度が最大となり、使用できる空間が最適化されるように設定します。

表示域に合わせる動作は一般に望ましいことですが、特定の結果を得るためにこの処理を制御したい場合もあります。たとえば、イメージは Figure ウィンドウの縦横比にかかわらず、正しい割合で表示しなければなりません。あるいは、グラフを印刷ページで常に特定のサイズに固定したい場合もあります。

軸のスケーリング

axis コマンドを使用すると、グラフのスケーリングを調整できます。既定の設定では MATLAB はプロットするデータの最大値と最小値を求め、適切な軸範囲を選択します。既定値は範囲を次のように設定することによって上書きすることができます。

axis([xmin xmax ymin ymax zmin zmax])

既定の axis オプションを使用して、MATLAB がどのように Axes のスケーリングを行うかをコントロールすることができます。

  • axis auto は、軸のスケーリングを既定の自動モードに戻します。 v = axis は、ベクトル v の現在のプロットの Axes スケールを保存します。以降に続くグラフィックス コマンドが、これらと同じ軸範囲をもつためには、その後に axis(v) を付け加えます。

  • axis manual は、現在の範囲にスケーリングを固定します。その後、hold on を設定すると、以降に続くプロットは現在の範囲を使用します。軸範囲に値を指定しても、軸のスケーリングを manual に設定することができます。

  • axis tight は、軸の範囲をデータの範囲に設定します。

  • axis ij は、MATLAB を "行列" の Axes モードにします。座標系の原点は、左上隅にあります。i 軸は垂直で、上から下に向かって番号が付けられます。j 軸は水平で、左から右に向かって番号が付けられます。

  • axis xy は、MATLAB を既定の直交 Axes モードにします。座標系の原点は、左下隅にあります。x 軸は水平で、左から右に向かって番号が付けられます。y 軸は垂直で、下から上に向かって番号が付けられます。

縦横比

axis コマンドを使用して、グラフの縦横比を調整することができます。通常 MATLAB はウィンドウいっぱいに Axes を伸ばします。多くの場合、各軸の相対的長さやスケーリングなどの特定の特性に基づいて、Axes の縦横比を指定する方が有用です。axis コマンドは、縦横比を調整するためにいくつかの有用なオプションを提供します。

  • axis equal は、現在の Axes のスケーリングを変更し、xyz 軸上の等間隔の目盛りが等しい長さになるようにします。これによって、sphere で表示される曲面は楕円ではなく球に近くなります。axis equal は、表示域に合わせる動作を上書きします。

  • axis square は、各軸の長さを等しくし、表示域に合わせる動作を上書きします。

  • axis vis3d は 3 次元オブジェクトを回転させるために縦横比のプロパティを固定し、表示域に合わせる動作を上書きします。シーンを回転する間、設定が変更されないように他の axis オプションの後でこのオプションを使用してください。

  • axis image は、Axes の縦横比をイメージと等しくします。

  • axis auto は、x 軸、y 軸、z 軸の範囲を自動選択モードに戻します。

  • axis normal は、現在の軸ボックスをフル サイズに戻し、測定単位のスケーリング上の制限をすべて取り除きます。これは axis square の効果を無効にします。axis auto と組み合わせて使用すると、axis equal の効果を無効にします。

axis コマンドは、Axes グラフィックス オブジェクト プロパティを操作することによって機能します。

axis コマンド オプション

次の 3 つの図は、以下のステートメントで作成した円筒面における、3 つの axis オプションの効果を示したものです。

t = 0:pi/6:4*pi;
[x,y,z] = cylinder(4+cos(t),30);
surf(x,y,z)

axis normal は既定の動作です。MATLAB は各軸のデータ範囲を含むように自動的に軸範囲を設定し、表示域が Figure ウィンドウに合うようにプロットを調整します。

axis square は Figure ウィンドウの形状に関係なく、正方形の Axes を作成します。円筒面はウィンドウに表示域が合うように変形されないので、歪みはありません。ただし、1 つのデータ単位のサイズはすべての軸に対して等しくはありません (x 軸と y 軸が 10 単位であるのに対して、 z 軸は 1 単位のみです)。

axis equal は、1 つのデータ単位の長さを各軸に対して等しくすると同時に、ほぼ正方形のプロット ボックスを作成します。また、軸の歪みがウィンドウの形状全体に広がることはありません。

縦横比を設定するための付加的なコマンド

ユーザーのグラフの縦横比をコントロールする方法は 3 つあります。

  • xyz 軸の相対的なスケールを指定する (データの縦横比)

  • Axes で定義される空間の形状を指定する (プロット ボックスの縦横比)

  • 軸の範囲を指定する

次のコマンドは、これらの値を設定することができます。

コマンド

目的

daspect

データの縦横比の設定または確認

pbaspect

プロット ボックスの縦横比の設定または確認

xlim

x 軸の範囲の設定と参照

ylim

y 軸の範囲の設定と参照

zlim

z 軸の範囲の設定と参照

縦横比をコントロールする Axes プロパティのリストは、「Axes の縦横比を操作する」を参照してください。

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