2011-09-13 10 views
2

私はこのような問題に遭遇しました。皆さんが私を助けてくれることを願っています。Matlab GUI:プロットを新しいウィンドウに移動

GUIのプロットがあり、異なるlinspecと複数の凡例を含む複数の行が含まれています。 そして私は、新しいウィンドウ(デフォルトの図では、すべての行設定、タイトル、凡例などを保持している)と同じプロットをユーザーが開くことを許可するコンテキストメニューを作成しました。図)。 しかし、私はプロットを移行する簡単な方法を見つけることができませんでしたが、かなり複雑なプロットコマンドを再実行することはできません。

したがって、私は以下の2つのソリューションを探しています方法:

  1. プロットを新しいFigureウィンドウに移行する簡単な方法はありますか?

  2. 現在のインターフェイスでプロットを直接保存することはできますか?

2については、すべてのGUIインターフェイスではなく、プロットのみを保存したいことを明確にしたいと思います。私はsaveas(handle.Plot,...)を試しましたが、エンティティとしてGUIインターフェイスを保存しました。

あなたのお時間をいただきありがとうございました。乾杯。

+0

関連する質問:[後で図をMATLABに結合するためにサブプロットを作成する](http://stackoverflow.com/questions/4008880/producing-subplots-to-then-combine-them-into-a- figure-later-in-matlab) – Amro

答えて

3

このタスクでは、Matlabの組み込み機能copyobjを使用することができます。これは正確には(つまり、あなたの質問に最初に記されたオプション)。

次のコードは、その使用方法を示します。

h1=figure; 
a1=plot((1:100),rand(1,100),'r-'); 
hold on 
plot((1:100),rand(1,100),'b+'); 
legend({'plot1';'plot2'}); 
h2=figure; 
copyobj(get(h1,'children'),h2); 

は、それはあなたのケースでも同様に動作します願っています。

UPDATE:(あなたがそれを経験した)限り、私はこのことを理解して、あなたの第二の溶液は、残念ながら軸にfigure環境で動作していないsaveas機能を伴うだろう。したがって回避策には、上記の方法で目的の軸を新しい図形にコピーしてから、saveasを使用します。

+0

答えに感謝します。今私は勤務していないので、明日のあなたの答えを試してみましょう。それはかなり妥当と思われる。 :D – newbie

関連する問題