User interface 如何在MATLAB中选择一个子轴?
我一直在到处寻找,但我找不到一个网站,显示如何做到这一点。 我想要的是,当我点击一个轴时,能够从中选择一个对象,这样我就可以改变它的颜色和内容 我只是不知道如何选择子对象,我可以创建对象,但不能选择它们 我有一段代码用来创建一行:User interface 如何在MATLAB中选择一个子轴?,user-interface,matlab,children,axes,User Interface,Matlab,Children,Axes,我一直在到处寻找,但我找不到一个网站,显示如何做到这一点。 我想要的是,当我点击一个轴时,能够从中选择一个对象,这样我就可以改变它的颜色和内容 我只是不知道如何选择子对象,我可以创建对象,但不能选择它们 我有一段代码用来创建一行: coord = ginput (2) x = coord(:,1) y = coord(:,2) hline = line(x,y) 我不确定是否需要在数组中创建对象,以便选择“编辑/删除”。 我相信我需要使用ButtonDownFcn,但可能我做了一些完全错误的事
coord = ginput (2)
x = coord(:,1)
y = coord(:,2)
hline = line(x,y)
我不确定是否需要在数组中创建对象,以便选择“编辑/删除”。
我相信我需要使用ButtonDownFcn,但可能我做了一些完全错误的事情
任何帮助都将不胜感激,如果我遗漏了任何信息,请告诉我
谢谢无需使用
ginput
并提取坐标。这是由图形窗口中的内置“侦听器”自动完成的。假设可以在对象(线、线系列或其他句柄图形对象)上使用按钮DOWNFCN
属性,这是正确的
尝试创建从(0,0)到(1,1)的简单直线:
然后可以将按钮DOWNFCN
设置为匿名函数的函数句柄:
set( ...
hline, ...
'ButtonDownFcn', @(handle,event)(disp(['You clicked on the line!'])) ...
);
现在试着点击这行。它应该在命令窗口中打印文本
函数至少需要能够接收两个参数:(1)对象本身的句柄(行)和(2)“事件结构”。我相信第二个参数在使用线对象时是空的。但是您的函数仍然需要至少接收这两个参数(即使您不使用它们)
请在此处阅读更多:
您还可以使用自己的函数(文件中的命名函数):
。。。或者,如果(预期)在这两个参数之外还有其他参数,则可以使用结构数组。是否有类似于“set('selected','on')”的命令允许我手动操作所选对象?@Audel:ButtonDownFcn中定义的函数在第一个参数中接收句柄。可以使用该句柄进一步操纵单击的对象。要使其真正友好,您可以使用上下文菜单。有关更多信息,请参阅。我已修复它!差不多就是这样。非常感谢much@Audel:欢迎光临:)。(谢谢你。我想你的录取让我获得了100多个代表分数…)
set( ...
hline, ...
'ButtonDownFcn', @(handle,event)(disp(['You clicked on the line!'])) ...
);
set( ...
hline, ...
'ButtonDownFcn', @(handle,event)(namedFunction(handle,event)) ...
);