感谢您的回答。我应该更清楚。我需要每行的文本对象。这是我有多远:
function calc_slope(handle,event)
on = get(handle,'State');
if strcmpi(on,'on') || strcmpi(on,'off'),
xy = imline;
addNewPositionCallback(xy,@(pos) disp_slope(pos));
end
function disp_slope(pos)
delete(findobj(gca,'Type','text'));
text((pos(1)+pos(2))/2,(pos(3)+pos(4))/2,['\DeltaY/\DeltaX = ',num2str((pos(4)-pos(3))/(pos(2)-pos(1))),...
' [\DeltaX = ',num2str(pos(2)-pos(1)),', \DeltaY = ',num2str((pos(4)-pos(3))),']']);
因此,图中切换按钮的每个切换都会抛出一条可拖动/可调整大小的线,当我移动线时,斜率显示和更新,看起来非常接近我想要的。但是,有两个问题:
我遇到了这些问题并且实际上不会去任何地方,因为imline对象的行为与其他典型对象的行为差别很大,而且addNewPositionCallback的概念也很复杂。
请有人在这方面给我启发。
非常感谢,
埃里克
上一条消息:
我通过uitoggletool在工具栏上创建了一个带有切换按钮的图形。它的回调函数如下所示:
function calc_slope(handle,event)
on = get(handle,'State');
if strcmpi(on,'on') || strcmpi(on,'off'),
xy=imline;
addNewPositionCallback(xy,@(xy)...
title(['\DeltaY/\DeltaX = ',num2str((xy(4)-xy(3))/(xy(2)-xy(1))),...
'[\DeltaX = ',num2str(xy(2)-xy(1)),...
',\DeltaY = ',num2str((xy(4)-xy(3))),']']));
end
如您所见,该示例使用'title'命令输出图形标题中的位置数据。
有没有办法使用'text'命令在文本框中输出?
我想显示绘制线旁边的斜率。
此外,如果文本框也与相关行一起删除,那将会很棒。
请帮助。
谢谢,
埃里克