gdist

版本 1.4.0.0 (11.8 KB) 作者: Chad Greene
Get distances between points from mouse clicks on a figure.
413.0 次下载
更新时间 2014/11/20

查看许可证

gdist returns the graphical distance between click points from mouse. This function is a modified form of ginput, but differs in that gdist can return distance between each point or cumulative distance along a path of clicked points. gdist gives the user visual confirmation of clicked points, and points can be undone using the backspace key.
Data points are entered by pressing a mouse button or any key on the keyboard except the following:
Carriage return Terminates data entry.
Backspace Deletes previous data point.
z Zooms in, centered on current cursor location.
x Zooms out, centered on current cursor location.

Syntax:
EuclideanDistance = gdist
PathDist = gdist('path')
[...] = gdist(N)
[...] = gdist('color',ColorSpec)
[...,x,y] = gdist(...)
[...,x,y,h] = gdist(...)

Description:
EuclideanDistance = gdist gathers an unlimited number of points until the return key is pressed. Length of EuclideanDistance array is N-1 and is equivalent to EuclideanDistance = diff(PathDist).

PathDist = gdist('path') returns the distance traveled along a path of N clicks. Length of PathDist is equal to the number of clicks N, and the first first value in PathDist will always be zero. PathDist is equivalent to PathDist = [0;cumsum(EuclideanDistance)];

[...] = gdist(N) gets N points from the current axes and returns a vector containing the Euclidean distance from point to point.

[...] = gdist('color',ColorSpec) specifies color of the temporary lines and markers placed on the plot to assist the user.

[...,x,y] = gdist(...) returns x and y coordinates of clicked points.

[...,x,y,h] = gdist(...) returns a handle of line and marker objects clicked by the user. If a handle h is requested, the markers are not automatically removed after the point-entering process has terminated.

Examples:
Any of the inputs described above can be combined in one argument. For example, after plotting some data like this:

plot(sin(1:.01:7),'b')

you can simply type

gdist

to enter as many points as you'd like via mouse clicks. Or if you know ahead of time that you want to enter 4 points, type

gdist(4)

or if you want to calculate the cumulative distance at each step along 4-point path, and you want the temporary guiding lines to be red, type

gdist(4,'path','color','red')

If you'd like to keep that red line in place after using gdist, request the handle h like this:

[pathdist,~,~,h] = gdist(4,'path','color','red');

Then you can delete the red line at your leisure by

delete(h)

For greater precision, type z to zoom in, or x to zoom out. Zooming in or out recenters the plot on the current mouse position. If you accidentally click a point you'd like to undo, click backspace.

引用格式

Chad Greene (2024). gdist (https://www.mathworks.com/matlabcentral/fileexchange/48489-gdist), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R2014b
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Data Exploration 的更多信息
致谢

参考作品: gslope, MYGINPUT, ginput2.m v3.1 (Nov 2009), Custom GINPUT

启发作品: gdistm, clickz

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.4.0.0

fixed automatic naming.

1.3.0.0

Now supports line colorspec and zooming.

1.2.0.0

fixed automatic naming.

1.1.0.0

Now allows user to undo previous click using the backspace key. Also now includes a cumulative path distance option.

1.0.0.0