能够实现,不过稍微麻烦一些
这里借用一下Data cursor的功能
matlab的figure窗口本身就有个 Data cursor的功能
在窗口的工具栏里面可以找到这个功能
点上这个功能之后,鼠标会变成“十”字样式
在选中数据之后,回有一个浮动小框显示该点数据的坐标信息,如下图所示
现在我们可以利用这个Data Cursor的功能修改框中的内容以显示标注
首先,我们得现一个函数文件将其保存为dcmcallback.m 文件,内容如下:function [ txt ] = dcmcallback(empt,event_obj,label)
dcm_obj = datacursormode(gcf);
info=getCursorInfo(dcm_obj);
ind = info.DataIndex;
txt=label{ind};
end
然后,我们运行一下的代码x=rand(1,10)*10;
y=rand(1,10)*10;
L={'A','A1','A2','A3','B','B1','B2','B3','C','C1'};
plot(x,y,'.')