- コンポーネントライブラリの「FIGUREツール」のセクションから「コンテキストメニュー」を選んで,UIAxesの上にDrag & Drop.
- コンテキストメニューを編集(下の例では,X軸ラベル,Y軸ラベル の二つを設定しています)
- コンポーネントブラウザで,作際されたメニューを選択
- 「コールバック」から <MenuSelectedFcnコールバックの追加>を選んでコールバックを追加し中味を記述(下記コード参照)
- もう一つのメニューについても3.4.を実行
MATLABアプリで座標軸のラベルをアプリ実行後に入力する
2 views (last 30 days)
Show older comments
MATLABアプリの座標軸コンポーネントについて質問です。
座標軸のラベル(x、y軸)は、アプリとして起動後に変更することは可能でしょうか。
(アプリ起動後にユーザの任意のラベルに変える)
素人意見で恐縮ですが、ご教示の程よろしくお願い申し上げます。
0 Comments
Accepted Answer
Toru Ikegami
on 26 Aug 2021
こんにちは,
座標軸ラベルをアプリ起動後に変更することは可能です.可能ですが,座標軸オブジェクト(app.UIAxes)のプロパティ(app.UIAxes.XLabel.String もしくは app.UIAxes.YLabel.String )を変更する仕組みをプログラムする必要があります.
やりかたは色々あるでしょうが,直観的で手っ取り早いのは,UIContextMenu を使用することでしょうか.大雑把な手順は次のようになります.
以上の手順で,UIAxes上でマウスを右クリックすると軸ラベル変更用のダイアログが出てきて変更が出来るようになります.ご参考までに,上を実装したアプリファイルを添付しておきますね.
% Menu selected function: XMenu
function XMenuSelected(app, event)
labelStr = inputdlg("X軸ラベルを入力してください","X軸ラベル");
app.UIAxes.XLabel.String = labelStr;
end
4 Comments
Toru Ikegami
on 26 Aug 2021
こんにちは,
AppDesigner上で uicontextmenu を構成出来るのようになったのは R2020a からでした.
uicontextmenu の代わりに uimenu (コンポーネントライブラリの「メニューバー」)を使っても同様のことが出来ます.こちらも添付しておきますので見てみてください.
More Answers (0)
See Also
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!