如何从GUI Matlab中的datacursor获取价值

时间:2013-12-16 06:10:36

标签: matlab matlab-figure matlab-guide

如何从datacursor获取光标位置的值?这是我的代码

filename = handles.loadDataName;
x=importdata(filename,' ',indexend);
fid = fopen(filename,'r');
A = textscan(fid,'%f%f','Delimiter',' ','headerLines',indexstart);
data = cat(2,A{:});
time = data(:,1);
c1 = data(:,2);
plot(handles.axes_grafik,time,c1)
grid on;
dcm = datacursormode(gcf);
datacursormode on;
set(dcm, 'updatefcn', @myfunction)


function output_txt = myfunction( ~,event_obj)
dataIndex = get(event_obj,'DataIndex');
pos = get(event_obj,'Position');
output_txt = {[ 'Time: ',num2str(pos(1),5)] .....,
    ['Amplitude: ',num2str(pos(2),5)]};

当我尝试修改function output_txt以将pos(1)和Pos(2)转换为全局变量时,我在图中出现错误,该错误表示“自定义数据提示字符串函数中的错误”

我想检索pos(1)和Pos(2)以在编辑框中显示它。有没有办法做到这一点?感谢

1 个答案:

答案 0 :(得分:1)

[x,y] = ginput

这个命令会让你点击你想要的数字,直到你输入然后返回xy坐标。