4つのプロットh1〜h4があり、それらのすべてのx軸をリンクしたいとします。そのために私は使用することができますlinkaxes([h1 h2 h3 h4], 'x')
。ただし、それに加えて、 h1とh3のy軸(およびh2とh4)をリンクしたいと思います。linkaxes([h1 h3], 'y')
x軸を使用すると、リンクが失われます。どうすれば両方のリンクを同時に実現できますか?
2 に答える
の73行目と74行目は次のlinkaxes
とおりです。
%# Remove any prior links to input handles
localRemoveLink(ax)
「名前を付けて保存...」を使用して新しい関数を作成することをお勧めしますmyLinkaxes
。ここで、74行目をコメントアウトします。さらに良いmyLinkaxes
ことに、73行目と74、つまりkeep
が1の場合、localRemoveLink
呼び出されません。
これは、x軸とy軸を別々にリンクする場合に機能するはずですが、'xy'
引数の前後を使用すると、問題が発生する可能性があります。
linkprop
Jonasが提供するソリューションに加えて、グラフィックスオブジェクトの一見任意のプロパティをリンクできる低レベルの関数についても言及する価値があると思います。
この特定の質問の場合、次の一連のコマンドを使用して、目的の効果を得ることができます。
linkaxes([h1 h2 h3 h4], 'x');
lnkObj = linkprop([h1 h3], 'YLim');
実例として(そしてlinkprop
私にとっては新しいので)、この例は非常に単純です。詳細とより複雑な例については、ドキュメントを参照してください。
ここで言及する価値があるかもしれませんが、リンクオブジェクトlinkprop
を返します。これは(前のリンクによると)「プロパティリンクを発生させたいコンテキスト内に存在する必要があります」。特に、リンクオブジェクトへのすべての参照がなくなると、リンクが停止する場合があるようです。したがって、リンクオブジェクトを上記の変数に割り当てる理由があります。さらに、作成されたリンクオブジェクトへの参照は、対応するグラフィックスオブジェクトがどのようにリンクされるか(つまり、どのオブジェクトのプロパティが特定のリンクオブジェクトによってリンクされるか)の詳細を変更するために必要です。詳細については、リンクオブジェクトの更新を参照してください(このような更新を実行するために特別に設計された関数のリストを含む)。