SUBPLOT コマンドで表示された​複数のAxesにおい​て、1つのAxesの​ズームや移動(Pan​)を行った場合に、別​のAxesも同じ軸範​囲で表示するにはどう​すればよいですか?

SUBPLOT コマンドで、複数の座標軸を表示しています。このとき、1つのAxesのズームや移動(Pan)を行った場合に、別のAxesも同じ軸範囲で表示する方法を教えてください。

 Accepted Answer

LINKAXES 関数を使用することができます。
以下に使用例を挙げます。
ax(1) = subplot(2,2,1);
plot(rand(1,10)*10,'Parent',ax(1));
ax(2) = subplot(2,2,2);
plot(rand(1,10)*100,'Parent',ax(2));
linkaxes(ax,'x'); % x軸のリンク
上記コマンド実行後、ズームインアイコンを利用して一方のAxesをズームすると、もう一方のAxesも同じxの軸範囲で表示されます。
(※linkaxes 関数の第一引数はリンク付けを行うAxesのハンドルを指定し、第二引数にはリンク付けを行う軸を指定します。例えば、下記コマンドを上記コマンドに続けて実行することで、複数Axes中の任意Axesにのみxy軸のリンク付けを行うこともできます。)
linkaxes(ax,'off') % リンク解除
ax(3) = subplot(2,2,3);
plot(rand(1,10)*100,'Parent',ax(3));
linkaxes(ax(2:3),'xy') % ax(2)とax(3)のxy軸のリンク
なお、LINKAXES 関数では、すべての座標軸の範囲が同一であることを前提としています。

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!