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

조회 수: 9 (최근 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!