MATLABアプリで​座標軸のラベルをアプ​リ実行後に入力する

2 views (last 30 days)
RK
RK on 25 Aug 2021
Commented: RK on 26 Aug 2021
MATLABアプリの座標軸コンポーネントについて質問です。
座標軸のラベル(x、y軸)は、アプリとして起動後に変更することは可能でしょうか。
(アプリ起動後にユーザの任意のラベルに変える)
素人意見で恐縮ですが、ご教示の程よろしくお願い申し上げます。

Accepted Answer

Toru Ikegami
Toru Ikegami on 26 Aug 2021
こんにちは,
座標軸ラベルをアプリ起動後に変更することは可能です.可能ですが,座標軸オブジェクト(app.UIAxes)のプロパティ(app.UIAxes.XLabel.String もしくは app.UIAxes.YLabel.String )を変更する仕組みをプログラムする必要があります.
やりかたは色々あるでしょうが,直観的で手っ取り早いのは,UIContextMenu を使用することでしょうか.大雑把な手順は次のようになります.
  1. コンポーネントライブラリの「FIGUREツール」のセクションから「コンテキストメニュー」を選んで,UIAxesの上にDrag & Drop.
  2. コンテキストメニューを編集(下の例では,X軸ラベル,Y軸ラベル の二つを設定しています)
  3. コンポーネントブラウザで,作際されたメニューを選択
  4. 「コールバック」から <MenuSelectedFcnコールバックの追加>を選んでコールバックを追加し中味を記述(下記コード参照)
  5. もう一つのメニューについても3.4.を実行
以上の手順で,UIAxes上でマウスを右クリックすると軸ラベル変更用のダイアログが出てきて変更が出来るようになります.ご参考までに,上を実装したアプリファイルを添付しておきますね.
% Menu selected function: XMenu
function XMenuSelected(app, event)
labelStr = inputdlg("X軸ラベルを入力してください","X軸ラベル");
app.UIAxes.XLabel.String = labelStr;
end
  4 Comments
Toru Ikegami
Toru Ikegami on 26 Aug 2021
こんにちは,
AppDesigner上で uicontextmenu を構成出来るのようになったのは R2020a からでした.
uicontextmenu の代わりに uimenu (コンポーネントライブラリの「メニューバー」)を使っても同様のことが出来ます.こちらも添付しておきますので見てみてください.
RK
RK on 26 Aug 2021
早急にご対応頂きありがとうございます。
R2020aからとのこと承知いたしました。
添付いただいたファイルで、同様のことが出来るのを確認いたしました。
R2020aがインストール出来た際はコンテキストメニューも使ってみようと思います。

Sign in to comment.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!