我正在研究 Matlab 绘图。我有两个问题。
1)绘图后,当用户选择数据点时,该数据点的颜色应该改变
2) 我需要获取该数据点的 x 和 y 值
有任何想法吗?
使用Data Cursor
工具栏中的 。
这个问题已有 4 年历史,但完整的答案可能对某人有帮助,所以这里......
绘制数据:
plot(rand(5,1),'.b','MarkerSize',40) % Large blue dots just to make it clear
hold on
创建一个数据游标对象:
dcm_obj = datacursormode(gcf);
为数据游标设置自定义更新函数:
set(dcm_obj,'UpdateFcn',@dcfun)
然后定义函数:
function txt = dcfun(~,event_obj)
pos = event_obj.Position;
delete(findall(gcf,'Tag','DEL'))
plot(gca,pos(1),pos(2),'.r','Markersize',40,'Tag','DEL')
txt = cell(2,1);
txt{1} = ['x: ',num2str(pos(1))];
txt{2} = ['y: ',num2str(pos(2))];
现在只需单击工具栏中的数据光标工具,然后单击一个数据点。