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

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

 採用された回答

Toru Ikegami
Toru Ikegami 2021 年 8 月 26 日

1 投票

こんにちは,
座標軸ラベルをアプリ起動後に変更することは可能です.可能ですが,座標軸オブジェクト(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 件のコメント

RK
RK 2021 年 8 月 26 日
ご回答頂きありがとうございます。
プログラムを作成しようと思います。
取り急ぎ、添付いただいたファイルを確認しましたが、右クリックしてもダイアログが出てきません。
なにか操作が違うのでしょうか?
また、2019bを使用していますが、版数が違うと何か変わりますか?
よろしくお願いいたします。
RK
RK 2021 年 8 月 26 日
度々すみません。
確認したところ、コンポーネントライブラリのFIGUREツール内に、
コンテキストメニューがありませんでした。。
これは追加が必要ですか?
Toru Ikegami
Toru Ikegami 2021 年 8 月 26 日
こんにちは,
AppDesigner上で uicontextmenu を構成出来るのようになったのは R2020a からでした.
uicontextmenu の代わりに uimenu (コンポーネントライブラリの「メニューバー」)を使っても同様のことが出来ます.こちらも添付しておきますので見てみてください.
RK
RK 2021 年 8 月 26 日
早急にご対応頂きありがとうございます。
R2020aからとのこと承知いたしました。
添付いただいたファイルで、同様のことが出来るのを確認いたしました。
R2020aがインストール出来た際はコンテキストメニューも使ってみようと思います。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2019b

質問済み:

RK
2021 年 8 月 25 日

コメント済み:

RK
2021 年 8 月 26 日

Community Treasure Hunt

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

Start Hunting!