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

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

采纳的回答

Toru Ikegami
Toru Ikegami 2021-8-26
こんにちは,
座標軸ラベルをアプリ起動後に変更することは可能です.可能ですが,座標軸オブジェクト(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 个评论
Toru Ikegami
Toru Ikegami 2021-8-26
こんにちは,
AppDesigner上で uicontextmenu を構成出来るのようになったのは R2020a からでした.
uicontextmenu の代わりに uimenu (コンポーネントライブラリの「メニューバー」)を使っても同様のことが出来ます.こちらも添付しておきますので見てみてください.
RK
RK 2021-8-26
早急にご対応頂きありがとうございます。
R2020aからとのこと承知いたしました。
添付いただいたファイルで、同様のことが出来るのを確認いたしました。
R2020aがインストール出来た際はコンテキストメニューも使ってみようと思います。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 対話型コントロールとコールバック 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!