GUI上でヒートマップの作成、保存

8 views (last 30 days)
和神 水ノ江
和神 水ノ江 on 20 Aug 2021
Commented: 和神 水ノ江 on 20 Aug 2021
現在、App Designerを用いてGUIアプリを開発中です。
その中でヒートマップの作成、保存を実装しようとしています。
条件としては
・生成したヒートマップは画像として保存する
・ヒートマップがGUI上に埋め込まれ、別ウィンドウで生成されない(先に画像として保存して置いたものを表示でも可)
があります。
以下2パターンで実装を試みましたが上手くいきませんでした。
h1 = heatmap(testdata);   %ここが別ウィンドウで生成されてしまう
saveas(h1,'保存先のパス');
app.Image.ImageSource = '保存先のパス'; %生成した画像をGUI上に表示は可能
h2 = heatmap(app.UIFigure,testdata); %別ウィンドウで生成されず埋め込みは可能
saveas(h2,'保存先のパス'); %保存ができない
条件を満たす実装方法があれば教えていただけると助かります。

Accepted Answer

Kojiro Saito
Kojiro Saito on 20 Aug 2021
バージョンR2020aから使えるexportgraphicsコマンドを使うことで解決できると思います。
UIFigureやPanelのグラフィックスオブジェクトも保存できますので。
h2 = heatmap(app.UIFigure,testdata);
exportgraphics(h2,'保存先のパス')
  3 Comments
Kojiro Saito
Kojiro Saito on 20 Aug 2021
何もないUIFigureで試したら問題なく実行できたのですが、App DesignerのGUIアプリに他のコンポーネントを置いていますか?
UIFigure全てを保存するのではなく、パネル上にヒートマップを描画してそれを保存する方法でどうでしょうか。
App Designerのコンポーネントライブラリから「コンテナ」内にある「パネル」を置いてみて、
h2 = heatmap(app.Panel,testdata);
exportgraphics(h2,'保存先のパス')
を試していただけますか。
和神 水ノ江
和神 水ノ江 on 20 Aug 2021
ご回答ありがとうございます。
ご指摘いただいた通り、他のコンポーネントも置いていました。
言葉足らずですみません。
パネルを置いて試した結果、エラーもなく実装することができました。
ありがとうございました!

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!