Main Content

zlim

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

説明

範囲の指定

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

zlim(limitmethod) は、MATLAB® で自動範囲選択に使用する範囲メソッドを指定します。範囲メソッドを "tickaligned""tight"、または "padded" として指定します。MATLAB は座標軸の ZLimitMethod プロパティを指定の値に設定します。

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

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

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

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

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

クエリの範囲

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

limmethod = zlim("method") は、現在の "z" 軸の範囲メソッド ('tickaligned''tight'、または 'padded') を返します。

limmode = 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 object. The axes object 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 object. The axes object contains an object of type surface.

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

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

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

表面の上下のスペースが少なくなるように z 軸の範囲を調整します。範囲メソッドを 'tight' に変更します。

zlim tight

Figure contains an axes object. The axes object 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 objects. Axes object 1 contains an object of type surface. Axes object 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 object. The axes object 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 object. The axes object contains 2 objects of type scatter.

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

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

zlim auto

Figure contains an axes object. The axes object 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 object. The axes object 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 プロパティの値が返されます。

現在の範囲メソッド。次のいずれかの値として返されます。

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

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

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

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

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

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

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

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

アルゴリズム

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

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

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

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

バージョン履歴

R2006a より前に導入

すべて展開する