データカーソルを使用​して複数の点を選択し​、その点の座標をワー​クスペースに出力する​にはどうすればよいで​すか?

14 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2017 年 5 月 18 日
編集済み: MathWorks Support Team 2021 年 3 月 9 日
Figure 上で、データカーソルを使用して複数の点を選択しました。これらの点の座標を MATLAB のベースワークスペースに出力して MATLAB 上で変数として扱う方法を教えてください。

採用された回答

MathWorks Support Team
MathWorks Support Team 2021 年 3 月 9 日
編集済み: MathWorks Support Team 2021 年 3 月 9 日
ここでは、2次元のプロット上で、手動で選択したデータ点の座標を含む構造体配列を手動で作成する方法と、コマンドを使ってワークスペースに出力する方法の2つを紹介します。
[手動で座標情報を取得する方法]
1. コマンドウィンドウで次のコマンドを実行し、図を描画します。
>> plot(1:100)
2. 生成された Figure のツールバーのデータカーソルボタンをクリックします。
3. Figure 上の任意の点をクリックします。
4. Alt キーを押しながら Step 3 を繰り返し、複数の点を選択します。
5. Figure 上で右クリック(Mac の場合は Crtl キーを押しながらクリック)し、「カーソルデータをワークスペースにエクスポート」オプションを選択します。
6. デフォルトの変数名 “cursor_info” が設定されますので “OK” をクリックします。
7. MATLAB のコマンドウィンドウで
>> cursor_info.Position
と入力し、”Enter” を押します。
構造体配列 “cursor_info” は選択した順番、点のx座標、y座標すべての情報を含んでいます。3次元の図の場合、z座標の情報が追加されますが選択した順番は保持されません。また、上記のStep7を完了するまでは、変数 “cursor_info” はワークスペースには表示されません。
[コマンドで座標情報を取得する方法]
この例では、datacursormode 関数を使用して、データカーソル情報をプログラムによって取得します。
・daracursormode 関数
>> fig = figure;
>> z = peaks;
>> plot( z(:, 30:35) )
>> dcm_obj = datacursormode(fig);
>> set(dcm_obj,'DisplayStyle','datatip',...
'SnapToDataVertex','off','Enable','on')
データチップ(取得したい座標点)をクリックし、次のコードを実行します。
>> c_info = getCursorInfo(dcm_obj)

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange視覚的探索 についてさらに検索

タグ

タグが未入力です。

製品

Community Treasure Hunt

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

Start Hunting!