登录论坛

查看完整版本 : ginput的十字准线如何限制在一个图中?


poster
2019-12-10, 20:41
我用gui写了一个小的MATLAB程序。在gui内,除其他外,我有一个绘图,用户可以在其中选择两个点。为此,我使用函数ginput (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/ginput.html) ,该函数创建一个用于选择的十字准线。不幸的是,十字准线扩展了整个窗口,并不仅限于绘图,该绘图看起来并不美观,并且会使用户感到困惑。十字准线如何仅限于图块区域?



回答:

尝试使用getpts,它不会创建十字准线。使用getpts,您还可以指定希望用户选择的轴,如

[x,y] = getpts(ax); getpts的唯一麻烦是没有办法将其限制为精确到两点。但是它确实具有一个不错的功能,即用户可以通过按DELETE撤消点选择,并按ENTER确认点。

仔细查看ginput文档,您描述的行为是有意的,显然是不可避免的



doc ginput 单击轴将使该轴成为当前轴。即使在调用ginput之前设置了当前轴,单击的任何轴都将成为当前轴,并且ginput返回相对于该轴的点。如果从多个轴中选择点,则返回的结果将相对于它们所来自的轴的坐标系。



更多&回答... (https://stackoverflow.com/questions/2802339)