MATLAB app axesのグラフを固定したい

5 views (last 30 days)
健斗
健斗 on 6 Sep 2024
Commented: 健斗 on 11 Sep 2024
上記のようなaxes画面にデータ分析した結果を表示させるAppなのですが、上の図と下の図において両サイドの寸法がずれる為、分析結果に関わらず、図を固定させる方法をないか悩んでおります。お手数をおかけしますが、ご教授頂けると幸いです。

Answers (1)

Atsushi Ueno
Atsushi Ueno on 6 Sep 2024
「軸範囲を固定する」か「軸範囲をリンクさせる」の2通り思いつきます。
前者の方法は、分析結果によらずいつも同じ軸範囲を表示します。
後者の方法は、分析結果により軸範囲が自動調整されても、上下の軸範囲がズレなくなります。
  4 Comments
Atsushi Ueno
Atsushi Ueno on 9 Sep 2024
そう思います。実際に MATLAB Online (basic) で試しましたが②でパネル内にグラフ(座標軸)を複数作成するのではなく、一つの座標軸を作成し、その内部に複数のサブプロットを配置します。この際、おそらくApp Designerのドラッグ&ドロップ操作では複数のサブプロットを追加出来ないのではないかと思います。
① App上にPanelを作成 (空のまま)
② コードビュー画面でコールバック関数の追加→StartUp関数を追加 (その他の関数でも可)
③ 追加した関数内に下記コードをペーストして実行
上記操作により、tiledlayout 関数(や linkaxes 関数等)を使って複数のサブプロットを表示・連携させる事が出来ます。下記はリンク先からの抜粋です。
t = tiledlayout(app.Panel,2,1);
[X,Y,Z] = peaks(20)
% Tile 1
ax1 = nexttile(t);
surf(ax1,X,Y,Z)
% Tile 2
ax2 = nexttile(t);
contour(ax2,X,Y,Z)
健斗
健斗 on 11 Sep 2024
ありがとうございます!
tiledlayoutで試してみたのですが、現状Appの仕様と合致しておらず、ハードルが相当高いです。。。
※下のグラフを表示後、そのグラフをクリックすると上のグラフが表示されるような仕様となっています。
つきましてはグリットレイアウトを用いて、上下グラフの軸がずれないような方法があればご教授いただけれると幸いです。
申し訳ございませんが、宜しくお願い致します。

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!