MATLAB およびツールボックス (すべてではありませんが) のプロット関数の多くは、次の両方の構文を使用できます。
plotfcn(data1, data2, ...)
plotfcn(axes_handle, data1, data2, ...)
最初は現在の座標軸 ( gca
) にプロットするか、存在しない場合は新しい座標軸を作成してプロットします。2 番目は、ハンドルを使用して座標軸にプロットしaxes_handle
ます。
いくつかの MATLAB およびツールボックスのプロット関数の内部を調べたところ、MathWorks がこれを行う標準化された方法が実際にはないように見えます。一部のプロット ルーチンは、内部のオープン関数を使用axescheck
して入力引数を解析します。最初の入力引数で簡単なチェックを行うものもあります。また、さまざまな入力構文を処理できる、より複雑な入力解析サブ関数を使用するものもあります。
axescheck
文書化されていない構文を使用しているように見えることに注意してくださいishghandle
-ドキュメントには、ishghandle
1つの入力のみを受け取り、それがHandle Graphicsオブジェクトの場合はtrueを返すと書かれています。これaxescheck
はishghandle(h, 'axes')
、特に軸オブジェクトである場合にのみ true を返します。
この構文を実装するためのベストプラクティスまたは標準を知っている人はいますか? そうでない場合、どの方法が最も堅牢であることがわかりましたか?