最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

linkaxes

複数の座標軸の範囲の同期

説明

linkaxes(ax) は、指定された座標軸のベクトルの範囲を同期します。範囲を同期すると、1 つのプロットまたは Figure 内でズームまたはパンを行ったり、同じ範囲のデータを他のプロットまたは Figure に表示したりできます。最初に linkaxes を呼び出すときに、この関数は指定されたすべての座標軸の現在の範囲を内包する新しい範囲を選択します。

linkaxes(ax,dimension) は指定された軸の次元について、座標軸の範囲を同期します。たとえば、linkaxes(ax,'x') は、x 軸の範囲のみを同期します。

すべて折りたたむ

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

tiledlayout(3,1)

% First plot
ax1 = nexttile;
x1 = linspace(0,6);
y1 = sin(x1);
plot(x1,y1)

% Second plot
ax2 = nexttile;
x2 = linspace(0,10);
y2 = 2*sin(2*x2);
plot(x2,y2)

% Third plot
ax3 = nexttile;
x3 = linspace(0,12,200);
y3 = 4*sin(6*x3);
plot(x3,y3)

各プロットの x 軸と y 軸の範囲を同期します。新しい軸の範囲に古い範囲が内包されていることに注意してください。

linkaxes([ax1 ax2 ax3],'xy')

1 番目のプロットの x 軸の範囲を設定します。すべての座標軸がリンクされるため、2 番目と 3 番目のプロットの x 軸の範囲も変化します。

ax1.XLim = [0 4.5];

プロットの 1 つに移動するかズームすると、他の 2 つのプロットに同じデータの範囲が表示されます。

リンクを削除するには、linkaxes([ax1 ax2 ax3],'off') を使用します。

2 行 1 列のタイル表示チャート レイアウトで 2 つのプロットを作成します。関数 linkaxes を呼び出すことで、x 軸の範囲を同期します。

x1 = linspace(0,20,100);
y1 = sin(x1);
x2 = 3:17;
y2 = rand(1,15);

% Create plots.
t = tiledlayout(2,1);
ax1 = nexttile;
plot(ax1,x1,y1)
ax2 = nexttile;
stem(ax2,x2,y2)

% Link the axes. Add title and labels.
linkaxes([ax1,ax2],'x');

t を関数 xlabel および関数 ylabel に渡して、共有の x 軸と y 軸のラベルを作成します。関数 xticklabels を呼び出して、一番目のプロットから x 軸の目盛ラベルを削除します。次に、tTileSpacing プロパティを 'compact' に設定して、プロットの間隔を最小にします。

xlabel(t,'Input')
ylabel(t,'Output')
xticklabels(ax1,{})
t.TileSpacing = 'compact';

入力引数

すべて折りたたむ

ターゲット座標軸。Axes オブジェクトのベクトルとして指定します。関数 linkaxes は、2 次元直交座標軸のみをサポートしています。

任意の数の Axes オブジェクトをリンクできます。たとえば、linkaxes([ax1 ax2 ax3]) は、ax1ax2 および ax3 をリンクします。linkaxes([ax1 ax2]) および linkaxes([ax2 ax3]) を個別に呼び出すと、ax1ax2 の間のリンクがキャンセルされます。

同期する範囲。次の値のいずれかとして指定します。

  • 'xy' — x 軸と y 軸の両方の範囲を同期する。

  • 'x' — x 軸の範囲のみを同期する。

  • 'y' — y 軸の範囲のみを同期する。

  • 'off' — 同期をオフにする。

R2006a より前に導入