Matlabで出力し​たグラフをキャプチャ​してEXCELなどの​外部ツールに張り付け​る方法

54 views (last 30 days)
OKAY69
OKAY69 on 27 Mar 2018
Edited: mizuki on 27 Mar 2018
Matlabを用いて下記のデータ処理ツールを作成しています。 ①任意の散布データに対し多項式近似を行い、近似式の係数を返すFunctionを作成。 ②アプリケーションコンパイラを用いて、①で作成したfunctionをEXCELアドイン化。 ③②で生成したアドインをEXCEL VBAを用いてデータ処理を行う。 追加で下記の機能を持たせたいのですが、可能でしょうか? ①ファンクション内で散布図を描画。 ②プロットウィンドウで表示された散布図をクリップボードに保存。 ③EXCELなどの外部ツールに張り付け。
以上よろしくお願いします。

Accepted Answer

mizuki
mizuki on 27 Mar 2018
Edited: mizuki on 27 Mar 2018
①ファンクション内で散布図を描画。
function 内で SCATTER 関数などの描画関数を使用してください。 graph の含まれるアドインの扱いについては以下ドキュメントをご参考にしてください。
②プロットウィンドウで表示された散布図をクリップボードに保存。
print -dmeta で実現できます。
③EXCELなどの外部ツールに張り付け。
COM を介して MATLAB で描画後に MATLAB から Excel に Figure を貼り付けることができます。
補足ですが、今のフローでは、MATLAB でフィッティング部分を使用して Excel 内で使用し、さらなる解析を VBA でやる形式になっています。全て MATLAB で書いてしまって Excel アドインに展開するほうがフローとしてはシンプルになるのではないかと思います。可能でしたらご検討ください。

More Answers (1)

OKAY69
OKAY69 on 27 Mar 2018
mizuki様 ご回答ありがとうございます。 ご提案いただいた手法でツール開発を進めさせていただきます。 補足の件について、ご提案の通りシンプルになしますが、 VBAで開発しているのは、ツールのアドイン化&サーバ上でのソース統合管理と 開発難易度、保守性を考慮したうえで(所属部署内でMatlabを扱える人材がいない・・・) 開発環境を決めました。 今後の状況により、開発環境を変える際は検討させていただきます。
  1 Comment
mizuki
mizuki on 27 Mar 2018
この流れで開発される背景についてお知らせいただきありがとうございました。 もし今後 MATLAB の部分を増やされる場合は、Answers をぜひご活用ください!
なお、先ほどの回答に一点誤りがありました。 clipboard 関数は基本文字データにのみの対応ということで、グラフについては
print -dmeta
でキャプチャをします。 (後ほど上の回答も修正いたします。)

Sign in to comment.

Categories

Find more on 印刷と保存 in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!