Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

zlim

z 軸の範囲の設定とクエリ

説明

特定の範囲

zlim(limits) は、現在の座標軸の z 軸の範囲を設定します。[zmin zmax] の形式の 2 要素ベクトルとして limits を指定します。ここで zmaxzmin より大きい値です。

zl = zlim は現在の範囲を 2 要素ベクトルとして返します。

自動または手動の範囲選択

zlim(limitmethod) は、MATLAB® で自動範囲選択に使用する制限方法を指定します。制限方法を 'tickaligned''tight'、または 'padded' として指定します。MATLAB で座標軸の ZLimitMethod プロパティが指定した値に設定されます。

引数 limitmethod はかっこなしで指定できます。たとえば、zlim tight とすると、z 軸の範囲を tight にできます。

zlim(limitmode) は、自動または手動の範囲選択を指定します。limitmode は次の 2 つの値のいずれかになります。

  • 'auto' — 自動範囲選択を有効にします。データの範囲と座標軸の ZLimitMethod プロパティの値に基づいて、MATLAB で範囲が選択されます。座標軸に複数回プロットする場合、すべてのデータを含むように範囲が更新されます。

  • 'manual' — z 軸の範囲を現在の値に固定します。

引数 limitmode はかっこなしで指定できます。たとえば、zlim auto とすると、自動範囲選択が有効になります。

m = zlim('mode') は、現在の z 軸の範囲モードを 'auto' または 'manual' のいずれかとして返します。範囲を指定したりモードを手動に設定したりしない限り、自動モードが既定で使用されます。

ターゲットの座標軸またはチャート

___ = zlim(ax,___) は、現在の座標軸の代わりに ax で指定される座標軸を使用します。前述の構文いずれかの最初の入力引数として ax を指定します。元の構文が出力引数をサポートしている場合は、出力引数を含めることができます。モード入力は zlim(ax,'auto') のように一重引用符で囲みます。

すべて折りたたむ

表面をプロットして z 軸の範囲を -5 ~ 5 に設定します。

[X,Y,Z] = peaks;
surf(X,Y,Z);
zlim([-5 5])

Figure contains an axes. The axes contains an object of type surface.

メッシュ表面プロットを作成し、0 より大きい z 値のみを表示します。z 軸の範囲の下限を 0 に指定し、上限は MATLAB に選択させます。

[X,Y,Z] = peaks;
mesh(X,Y,Z)
zlim([0 inf])

Figure contains an axes. The axes contains an object of type surface.

peaks データセットの表面プロットを作成します。側面から表面が見えるようにプロット ボックスの表示を調整します。

surf(peaks)
view([-45 15])

Figure contains an axes. The axes contains an object of type surface.

表面の上下のスペースが少なくなるように z 軸の範囲を調整します。制限方法を 'tight' に変更します。

zlim tight

Figure contains an axes. The axes contains an object of type surface.

R2019b 以降、関数 tiledlayout および nexttile を使用して、プロットをタイル表示できます。関数 tiledlayout を呼び出して、2 行 1 列のタイル表示チャート レイアウトを作成します。関数 nexttile を呼び出して、axes オブジェクト ax1 および ax2 を作成します。各座標軸にデータをプロットします。次に、zlim の最初の入力引数として ax2 を指定することで、下のプロットの z 軸の範囲を設定します。

[X,Y,Z] = peaks;
tiledlayout(2,1)
ax1 = nexttile;
surf(X,Y,Z)

ax2 = nexttile;
surf(X,Y,Z)
zlim(ax2,[-5 5])

Figure contains 2 axes. Axes 1 contains an object of type surface. Axes 2 contains an object of type surface.

座標軸にプロットを追加する際に現在の z 軸の範囲を維持するには、手動モードを使用します。

まず、3 次元散布図を作成します。

theta = linspace(0,2*pi);
X = cos(theta);
Y = sin(theta);
Z = theta;
scatter3(X,Y,Z)

Figure contains an axes. The axes contains an object of type scatter.

z 軸の範囲モードを手動に設定し、範囲が変更されないようにします。hold on を使用して座標軸に 2 番目のプロットを追加します。

zlim manual
hold on 
Znew = 5*theta;
scatter3(X,Y,Znew)
hold off

Figure contains an axes. The axes contains 2 objects of type scatter.

z 軸の範囲は、新しいプロットに合わせて更新されません。

モードを自動に設定して、範囲が自動更新されるよう再設定します。

zlim auto

Figure contains an axes. The axes contains 2 objects of type scatter.

乱数データの 3 次元散布図を作成します。z 軸の範囲の値を返します。

x = randn(50,1);
y = randn(50,1);
z = randn(50,1);
scatter3(x,y,z)

Figure contains an axes. The axes contains an object of type scatter.

zl = zlim
zl = 1×2

    -3     3

入力引数

すべて折りたたむ

範囲の上限と下限。[zmin zmax] の形式の 2 要素ベクトルとして指定します。ここで、zmaxzmin より大きい値です。範囲は、数値、カテゴリカル値、datetime 値、または duration 値として指定できます。ただし、指定する値のタイプは、z 軸に沿った値のタイプと一致していなければなりません。

両方の制限値を指定することも、一方の制限値を指定してもう一方を MATLAB で自動計算することもできます。下限値および上限値を自動的に計算する場合は、それぞれ -inf または inf を使用します。MATLAB は、制限方法として 'tight' を使用して対応する制限値を計算します。

例: zlim([0 1])

例: zlim([-inf 1])

例: zlim([0 inf])

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

範囲の選択方法。次の表の値として指定します。

この表の例は、各方法についてのおおまかな外観を示しています。結果は、データ、座標軸のサイズ、プロット ボックスの視点角度、および作成するプロットのタイプによって異なる場合があります。

説明
'tickaligned'

一般に、座標軸のボックスの端を、データを除外することなくデータに最も近い目盛りに揃えます。外観は、プロットするデータの型や、作成するチャートのタイプによって異なる場合があります。

Plotted surface with 'tickaligned' limit method.

'tight'

軸の範囲をデータ範囲に設定して、座標軸のボックスをデータ範囲にぴったり合わせます。

Plotted surface with 'tight' limit method.

'padded'

それぞれの側のパディングの余白を狭くして、座標軸のボックスをデータ範囲に合わせます。余白の幅はデータ範囲の約 7% です。

Plotted surface with 'padded' limit method.

メモ

座標軸の ZLimMode プロパティが 'manual' に設定されている場合、制限方法は無効になります。

範囲モード。次の値のいずれかとして指定します。

  • 'auto' — 自動範囲選択を有効にします。データの全範囲と座標軸の ZLimitMethod プロパティの値に基づいて範囲が選択されます。座標軸に複数回プロットする場合、すべてのデータを含むように範囲が更新されます。このオプションは、範囲を変更した後でそれを既定値に戻す場合に使用できます。

  • 'manual' — 範囲を現在の値に固定します。このオプションは、hold on コマンドで座標軸に新しいデータを追加する際に、現在の範囲を維持する場合に使用します。

この引数を指定すると、MATLAB で座標軸の ZLimMode プロパティが指定した値に設定されます。ただし、zlim(limits) を呼び出すか座標軸の ZLim プロパティの値を設定することで z 軸の範囲を明示的に設定すると、ZLimMode プロパティは 'manual' に変更されます。

ターゲット座標軸。Axes オブジェクトまたは Axes オブジェクトとの配列して指定します。

この引数を指定しない場合、zlim は現在の座標軸の範囲を設定します。

出力引数

すべて折りたたむ

現在の範囲。[zmin zmax] の形式の 2 要素ベクトルとして返されます。

範囲をクエリすると、対応する Axes オブジェクトの ZLim プロパティの値が返されます。

現在の範囲モード。次のいずれかの値が返されます。

  • 'auto' — 範囲を自動的に決定します。

  • 'manual' — 手動で指定された範囲を使用します。データの変更を反映する更新は行われません。

z 軸の範囲モードをクエリすると、対応する Axes オブジェクトの ZLimMode プロパティの値が返されます。

アルゴリズム

関数 zlim は、z 軸の範囲に関連するいくつかの座標軸プロパティの設定およびクエリを行います。

  • ZLimz 軸の範囲を保存するプロパティ。

  • ZLimModez 軸の範囲モードを保存するプロパティ。z 軸の範囲を設定すると、このプロパティは 'manual' に変更されます。

  • ZLimitMethodZLimMode プロパティが 'auto' に設定されている場合の z 軸の範囲の計算方法を制御するプロパティ。

R2006a より前に導入