Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在MATLAB中选择轴子级?

我到处都在寻找,但是找不到可以显示该操作方法的站点。我想要的是单击对象时能够从轴中选择一个对象,以便可以更改其颜色和内容。

我只是不知道如何选择一个孩子,我可以创建对象但不能选择它们。

我有用于创建行的这段代码:

coord = ginput (2) x = coord(:,1) y = coord(:,2) hline = line(x,y) 我不确定是否需要在数组中创建对象,以便可以选择编辑/删除它们。我相信我需要使用ButtonDownFcn,但是可能我做的事情完全错误。

任何帮助将不胜感激,如果我缺少任何信息,请让我知道

谢谢



回答:

不必使用ginput并提取坐标。这是由图形窗口中的内置“侦听器”自动完成的。假设可以在对象(线,线系列或其他处理图形对象)上使用ButtonDownFcn属性是正确的。

尝试从(0,0)到(1,1)的简单行中创建:

hline = line([0,1],[0,1]) %# create line, save handle in hline 然后,您可以将ButtonDownFcn设置为例如匿名函数的函数句柄:

set( ... hline, ... 'ButtonDownFcn', @(handle,event)(disp(['You clicked on the line!'])) ... ); 现在尝试单击该行。它应该在命令窗口中打印文本。

该函数必须至少能够接收两个参数:(1)对象本身的句柄(行)和(2)“事件结构”。我相信当您使用线对象时,第二个参数只是空的。但是您的函数仍然需要至少接收这两个参数(即使您不使用它们)。

在此处了解更多信息: http : //www.mathworks.com/help/techdoc/ref/line_props.html

您还可以使用自己的函数(文件中的命名函数):

set( ... hline, ... 'ButtonDownFcn', @(handle,event)(namedFunction(handle,event)) ... ); ...,或者(如果您希望)在这两个参数之间使用其他参数,则可以使用结构数组。



更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 06:54


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.