1

MATLAB およびツールボックス (すべてではありませんが) のプロット関数の多くは、次の両方の構文を使用できます。

plotfcn(data1, data2, ...)
plotfcn(axes_handle, data1, data2, ...)

最初は現在の座標軸 ( gca) にプロットするか、存在しない場合は新しい座標軸を作成してプロットします。2 番目は、ハンドルを使用して座標軸にプロットしaxes_handleます。

いくつかの MATLAB およびツールボックスのプロット関数の内部を調べたところ、MathWorks がこれを行う標準化された方法が実際にはないように見えます。一部のプロット ルーチンは、内部のオープン関数を使用axescheckして入力引数を解析します。最初の入力引数で簡単なチェックを行うものもあります。また、さまざまな入力構文を処理できる、より複雑な入力解析サブ関数を使用するものもあります。

axescheck文書化されていない構文を使用しているように見えることに注意してくださいishghandle-ドキュメントには、ishghandle1つの入力のみを受け取り、それがHandle Graphicsオブジェクトの場合はtrueを返すと書かれています。これaxescheckishghandle(h, 'axes')、特に軸オブジェクトである場合にのみ true を返します。

この構文を実装するためのベストプラクティスまたは標準を知っている人はいますか? そうでない場合、どの方法が最も堅牢であることがわかりましたか?

4

3 に答える 3

0

質問がわかりません。私がしていることは、データのプロットをプロットの生成/設定から分離することです。したがって、標準化された方法でヒストグラムをプロットしたい場合はsetup_histogram(some, params)、適切なハンドルを返す関数を呼び出します。次にupdate_histogram(with, some, data, and, params)、データを適切なハンドルに書き込む関数があります。

同じ方法で大量のデータをプロットする必要がある場合、これは非常にうまく機能します。

于 2013-02-06T15:27:13.493 に答える
0

傍観者からの2つの推奨事項:

  1. 必要がない場合は、文書化されていない状態にしないでください。
  2. 簡単なチェックで十分であれば、これは私の個人的な好みです。
于 2013-02-06T16:50:19.440 に答える