Main Content

xlim

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

説明

範囲の指定

xlim(limits) は、現在の座標軸またはチャートの x 軸の範囲を設定します。[xmin xmax] の形式の 2 要素ベクトルとして limits を指定します。ここで xmaxxmin より大きい値です。

xlim(limitmethod) は、MATLAB® で自動範囲選択に使用する範囲メソッドを指定します。範囲メソッドを "tickaligned""tight"、または "padded" として指定します。MATLAB は座標軸の XLimitMethod プロパティを指定の値に設定します。範囲メソッドはスタンドアロンの可視化ではサポートされません。

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

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

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

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

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

クエリの範囲

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

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

limmode = xlim("mode") は、現在の "x" 軸の範囲モード ('auto' または 'manual') を返します。範囲を指定したりモードを手動に設定したりしない限り、自動モードが既定で使用されます。

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

___ = xlim(target,___) は、現在の座標軸の代わりに target で指定される座標軸またはスタンドアロンの可視化を使用します。前述の構文いずれかの最初の入力引数として target を指定します。元の構文が出力引数をサポートしている場合は、出力引数を含めることができます。モード入力は xlim(target,"auto") のように引用符で囲みます。

すべて折りたたむ

ラインをプロットして x 軸の範囲を 0 ~ 5 に設定します。

x = linspace(0,10);
y = sin(x);
plot(x,y)
xlim([0 5])

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

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

[X,Y,Z] = peaks;
surf(X,Y,Z)
xlim([0 inf])

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

x 軸に沿って日付をもつステム グラフを作成します。x 軸の範囲を 2014 年 6 月 1 日から 2014 年 6 月 5 日までに設定します。

t = datetime(2014,06,1) + caldays(0:10);
y = rand(11,1);
stem(t,y,'filled')

tstart = datetime(2014,06,1);
tend = datetime(2014,06,5);
xlim([tstart tend])

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

x 座標の範囲に合わせて x 軸を自動的に調整する場合は、範囲メソッドの 'tight' を使用します。

ライン プロットを作成します。

plot([1 2 3 4 5 6.3],[0 0.3 0.1 0.6 0.4 1])

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

範囲メソッドを 'tight' に変更します。

xlim tight

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

座標軸に別のプロットを追加します。新しいデータ全体を含むように x 軸の範囲が調整されます。

hold on
plot([1 2 3 4 5 8.3],[0.1 0.2 0.3 0.4 0.5 0.83])
hold off

Figure contains an axes object. The axes object contains 2 objects of type line.

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

tiledlayout(2,1)
x = linspace(0,5,1000);
y = sin(100*x)./exp(x);
ax1 = nexttile;
plot(ax1,x,y)

ax2 = nexttile;
plot(ax2,x,y)
xlim(ax2,[0 1])

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

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

まず、ラインをプロットします。

x = linspace(0,10);
y = sin(x);
plot(x,y);

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

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

xlim manual
hold on
plot(2*x,2*y)
hold off

Figure contains an axes object. The axes object contains 2 objects of type line.

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

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

xlim auto

Figure contains an axes object. The axes object contains 2 objects of type line.

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

x = randn(50,1);
y = randn(50,1);
scatter(x,y)

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

xl = xlim
xl = 1×2

    -3     4

入力引数

すべて折りたたむ

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

両方の限界値を指定することも、一方の限界値を指定してもう一方を MATLAB で自動計算することもできます。自動計算の下限値および上限値には、それぞれ -inf または inf を使用します。MATLAB は範囲メソッド "tight" を使用して、対応する範囲を計算します。

例: xlim([0 1])

例: xlim([-inf 1])

例: xlim([0 inf])

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

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

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

説明
"tickaligned"

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

Plotted sine wave with 'tickaligned' limit method.

"tight"

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

Plotted sine wave with 'tight' limit method.

"padded"

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

Plotted sine wave with 'padded' limit method.

メモ

  • 座標軸の XLimMode プロパティが "manual" に設定されている場合、範囲メソッドに効果はありません。

  • 範囲メソッドの指定は、heatmapstackedplot などのスタンドアロンの可視化ではサポートされません。

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

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

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

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

ターゲット座標軸またはチャート。次のいずれかとして指定します。

  • axes オブジェクト。

  • XLimits プロパティをもつスタンドアロンの可視化 (heatmap チャートや stackedplot など)。

  • 同じクラスに属する座標軸またはスタンドアロンの可視化の配列。クラスを判定するには、関数 class を使用します。

この引数を指定しない場合、xlimgca コマンドで返されるグラフィックス オブジェクトの範囲を設定します。

出力引数

すべて折りたたむ

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

範囲をクエリすると、対応する Axes オブジェクトまたはグラフィックス オブジェクトの XLim または XLimits プロパティの値が返されます。

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

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

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

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

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

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

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

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

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

アルゴリズム

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

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

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

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

バージョン履歴

R2006a より前に導入

すべて展開する