
データカーソルを使用して複数の点を選択し、その点の座標をワークスペースに出力するにはどうすればよいですか?
14 views (last 30 days)
Show older comments
MathWorks Support Team
on 18 May 2017
Edited: MathWorks Support Team
on 9 Mar 2021
Figure 上で、データカーソルを使用して複数の点を選択しました。これらの点の座標を MATLAB のベースワークスペースに出力して MATLAB 上で変数として扱う方法を教えてください。
Accepted Answer
MathWorks Support Team
on 9 Mar 2021
Edited: MathWorks Support Team
on 9 Mar 2021
ここでは、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 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!