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

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

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 uifigure ベースのアプリ 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!