2012-02-03 11 views
4

これは非常に簡単ですが、私はMatlabのドキュメントで解決策を見つけることができませんでした。plotyyの軸の選択

2つ以上のデータセットをプロットする必要があります。これは2つの異なる範囲に収めることができます。だから私はこれを管理するためにplotyyを使うことができます。

私がしたいことは、いったんプロットを作成すると、2つの軸の1つにトレースを上書きまたは単純に追加することができることです。私はplotyyによって返されたパラメータをキャッチしようとしましたが、私はそれらを解読できませんでした。

何か助けていただければ幸いです。

答えて

3

plotyy上のMATLABドキュメンテーションは

[ha, h1, h2] = plotyy(...) 

haで作成した2つの軸のハンドルを返し、グラフィックスのハンドルはh1h2の各プロットからオブジェクトと述べています。 ha(1)は左軸で、ha(2)は右軸です。

したがって、plotyyによって返される最初の引数は、作成された各軸のハンドルです。左軸にプロットするにはplot(ha(1), x, y)を使用し、右軸にプロットするにはplot(ha(2), x, y)を使用します。

プロットされたグラフィックスオブジェクトのハンドルを必要としない場合は、ha = plotyy(...)を使用できます。そうでない場合、h1h2は、plotyyの呼び出しでプロットされた線(または他のグラフィックスオブジェクト)にハンドルを返します。したがって、ドキュメントの例に従えば、2行の線のスタイルを次のように設定することができます。

set(h1, 'LineStyle', '--') 
set(h2, 'LineStyle', ':') 
2

PLOTYYの最初の出力は軸ハンドルのベクトルです。

AX = PLOTYY(..) 

AX(1)は、第1軸のハンドルになります。 AX(2)は第2軸のハンドルになります。

軸のいずれかにプロットを追加するには、単にPLOTまたはLINEを使用します。

plot(AX(1), ...) 

line('parent',AX(1),'xdata',...) 
+0

ありがとう!しかし、この方法で**軸**の値に両方の軸値を​​渡すことはできますか? – clabacchio

+0

プロット(AX(1)、...) プロット(AX(2)、...) – siliconwafer

+0

申し訳ありません。あなたが書いたように** line **を渡そうとすると、x軸とy軸の値を含む変数でエラーを返します。どの変数型を 'xdata'と一緒に渡すべきですか? – clabacchio

関連する問題