Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

hold

新しいプロットを追加するときに現在のプロットを保持

説明

hold on は現在の座標軸のプロットを保持し、座標軸に追加される新しいプロットによって既存のプロットが削除されないようにします。新しいプロットには座標軸の ColorOrder プロパティと LineStyleOrder プロパティに基づいて次の色とライン スタイルが使用されます。MATLAB® は座標軸の範囲、目盛りおよび目盛りラベルを調整して、データのすべての範囲を表示します。座標軸が存在しない場合、hold コマンドは座標軸を作成します。

hold off はホールド状態をオフに設定するため、新しいプロットを座標軸に追加すると既存のプロットは消去され、座標軸のプロパティはすべてリセットされます。座標軸に次のプロットを追加すると、座標軸の ColorOrder プロパティと LineStyleOrder プロパティに基づいて最初の色とライン スタイルが使用されます。このオプションは既定の動作です。

hold all は、hold on と同じです。この構文は将来のリリースで削除される予定です。代わりに hold on を使用してください。

hold はホールド状態のオンとオフを切り替えます。

hold(ax,___) は、現在の座標軸ではなく、ax で指定された座標軸にホールド状態を設定します。前述のいずれかの構文で、他のすべての引数の前に ax を指定します。hold(ax,'on') のように、'on''off' の入力を一重引用符で囲みます。

すべて折りたたむ

ライン プロットを作成します。hold on を使用し、既存のライン プロットを削除せずに 2 番目のライン プロットを追加します。新しいプロットは座標軸の ColorOrder プロパティと LineStyleOrder プロパティに基づいて次の色とライン スタイルを使用します。次に、ホールド状態をオフにリセットします。

x = linspace(-pi,pi);
y1 = sin(x);
plot(x,y1)

hold on
y2 = cos(x);
plot(x,y2)
hold off

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

ホールド状態がオフの場合、新しいプロットは既存のプロットを削除します。新しいプロットでは、色とライン スタイルの順序の先頭から使用を開始します。

y3 = sin(2*x);
plot(x,y3)

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

R2019b 以降、関数 tiledlayout および nexttile を使用して、プロットをタイル表示できます。関数 tiledlayout を呼び出して、2 行 1 列のタイル表示チャート レイアウトを作成します。関数 nexttile を呼び出して、axes オブジェクト ax1 および ax2 を作成します。各座標軸に正弦波プロットをプロットします。

x = linspace(0,10);
y1 = sin(x);
y2 = cos(x);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
plot(ax1,x,y1)

% Bottom plot
ax2 = nexttile;
plot(ax2,x,y2)

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

1 番目の座標軸に 2 つ目の正弦波を追加します。

hold(ax1,'on')
y3 = sin(2*x);
plot(ax1,x,y3)
hold(ax1,'off')

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

1 行 2 列のタイル表示チャート レイアウトを作成します。関数 nexttile を呼び出して、2 つの axes オブジェクトを作成し、座標軸にプロットします。

t = tiledlayout(1,2);
ax1 = nexttile;
ax2 = nexttile;
plot(ax1,[0 1 0 1])
scatter(ax2,rand(1,10),rand(1,10),'filled')

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

両方の座標軸の hold 状態を 'on' に設定します。次に、各プロットの追加データを表示します。

hold([ax1 ax2],'on')
plot(ax1,[.5 .2 .5 .2])
scatter(ax2,rand(1,10),rand(1,10),'filled')

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

入力引数

すべて折りたたむ

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

  • Axes オブジェクト、PolarAxes オブジェクト、または GeographicAxes オブジェクトなど、任意のタイプの axes オブジェクト。

  • 同じクラスに属する axes オブジェクトの配列。クラスを判定するには、関数 class を使用します。

座標軸を指定しない場合、hold は現在の座標軸にホールド状態を設定します。

ヒント

  • ホールド状態を確認するには関数 ishold を使用します。

アルゴリズム

関数 hold は次のプロパティを設定します。

  • NextPlot 座標軸のプロパティ - 関連する AxesPolarAxes または GeographicAxes オブジェクトのこのプロパティを 'add' または 'replace' に設定。

  • NextPlot Figure のプロパティ - Figure オブジェクトのこのプロパティを 'add' に設定。

バージョン履歴

R2006a より前に導入