| MATLAB Function Reference | ![]() |
表示
pbaspect
pbaspect([aspect_ratio])
pbaspect('mode')
pbaspect('auto')
pbaspect('manual')
pbaspect(axes_handle,...)
詳細
プロットボックスの縦横比は、x, y, z軸の相対サイズを指定します。
引数を設定しない pbaspect
は、カレントのaxesのプロットボックスの縦横比を出力します。
は、カレントのaxesのプロットボックスの縦横比を指定した値に設定します。縦横比は、x,y,z軸のサイズの比を表わす3要素として、指定してください。たとえば、値pbaspect([aspect_ratio])
[1 1 1](デフォルト)は、プロットボックスが立方体であることを示します(stretch-to-fill機能が使用可能であれば、立方体として表示されない場合があります)。"注意"を参照してください。
pbaspect('mode')
は、プロットボックスの縦横比モードのカレント値を出力します。これは、auto(デフォルト)、または、manualです。"注意"を参照してください。
pbaspect('auto')
は、プロットボックスの縦横比モードを autoに設定します。
pbaspect('manual')
は、プロットボックスの縦横比モードをmanualに設定します。
pbaspect(axes_handle,...)
は、最初の引数axes_handleで識別されるaxesについて、設定または取得を行います。axesのハンドル番号を指定しないときは、pbaspectは、カレントのaxesについて操作します。
注意
pbaspect は、Axesオブジェクトの PlotBoxAspectRatio と PlotBoxAspectRatioMode プロパティの値を設定または取得します。
プロットボックスの縦横比モードが、autoのとき、MATLABは比を [1 1 1] に設定しますが、データの縦横比や、カメラのビュー角度、カメラの範囲のマニュアル設定と合うように、変更することがあります。種々のプロパティ間の関係についての表は、Axesの DataAspectRatio プロパティを参照してください。
プロットボックスの縦横比の値を設定したり、プロットボックスの縦横比モードを manual に設定すると、MATLABの stretch-to-fill機能(axesをウィンドウに合うように引き伸ばす)が使えなくなります。これは、プロットボックスの縦横比をカレント値
pbaspect(pbaspect)
に設定すると、その値がグラフに表示されている通りに変更されることを意味します。stretch-to-fillについては、 axesのリファレンスの"注意"と、Using MATLAB Graphicsマニュアルの"Aspect Ratio"を参照してください。
例題
関数
のサーフェスプロットは、プロットボックスの縦横比を説明するのに役立ちます。まず、プロットは、-2
x
2, -2
y
2 の範囲で、つぎのように出力されます。
[x,y] = meshgrid([-2:.2:2]); z = x.*exp(-x.^2 - y.^2); surf(x,y,z)
![]()
プロットボックスの縦横比を参照すると、プロットボックスが正方形であることがわかります。
pbaspect ans = 1 1 1
MATLABが選択したデータの縦横比を見てみることも興味深いです。
daspect ans = 4 4 1
プロットボックスとデータの縦横比の関係を説明するために、データの縦横比を[1 1 1]に設定し、再度プロットボックスの縦横比を参照します。
daspect([1 1 1])
pbaspect ans = 4 4 1
プロットボックスの縦横比は、データの縦横比と合うように変更されています。プロットボックスの縦横比も[1 1 1]にするためには、つぎのようにします。
pbaspect([1 1 1])
![]()
プロットボックスとデータの縦横比の両方を指定することによる制限のために、axesの範囲がどのように変更されたかに注意してください。
stretch-to-fillを使用不可能にするためにpbaspectを使うこともできます。たとえば、1つのFigureに2つのサブプロットを表示すると、surfaceプロットは詰め込まれて表示されます。stretch-to-fillを使用不可能にするには、つぎのようにします。
upper_plot = subplot(211); surf(x,y,z) lower_plot = subplot(212); surf(x,y,z) pbaspect(upper_plot,'manual')
参考
axis, daspect, xlim, ylim, zlim
axes プロパティ DataAspectRatio, PlotBoxAspectRatio, XLim, YLim, ZLim
Using MATLAB Graphics マニュアルの"縦横比"の節
| pause | pcg | ![]() |