Main Content

ylim

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

説明

範囲の指定

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

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

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

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

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

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

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

クエリの範囲

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

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

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

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

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

すべて折りたたむ

ラインをプロットして y 軸の範囲を -2 ~ 2 に設定します。

x = linspace(0,10);
y = sin(x);
plot(x,y)
ylim([-2 2])

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

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

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

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

y 軸に日付をもつ横棒グラフを作成します。y 軸の範囲を 2014 年 6 月 1 日から 2014 年 6 月 10 日までに設定します。

t = datetime(2014,06,1) + caldays(0:20);
y = rand(21,1);
barh(t,y)

tstart = datetime(2014,06,1);
tend = datetime(2014,06,10);
ylim([tstart tend])

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

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

x = 1:5; 
y = [-2.7 2 -1 4.2 0];
plot(x,y)

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

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

ylim tight

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

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

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

ax2 = nexttile;
plot(ax2,x,y)
ylim(ax2,[-10 10])

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

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

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

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

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

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

ylim manual
hold on
y2 = 2*sin(x);
plot(x,y2)
hold off

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

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

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

ylim auto

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

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

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.

yl =  ylim
yl = 1×2

    -2     3

入力引数

すべて折りたたむ

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

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

例: ylim([0 1])

例: ylim([-inf 1])

例: ylim([0 inf])

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

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

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

説明
"tickaligned"

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

Line plot with "tickaligned" limit method.

"tight"

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

Line plot with "tight" limit method.

"padded"

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

Line plot with "padded" limit method.

メモ

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

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

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

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

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

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

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

  • Axes オブジェクト。

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

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

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

出力引数

すべて折りたたむ

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

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

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

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

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

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

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

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

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

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

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

アルゴリズム

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

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

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

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

バージョン履歴

R2006a より前に導入

すべて展開する