1

我正在研究 Matlab 绘图。我有两个问题。

1)绘图后,当用户选择数据点时,该数据点的颜色应该改变

2) 我需要获取该数据点的 x 和 y 值

有任何想法吗?

4

3 回答 3

1

对于第一种获取用户输入的情况,您可以尝试ginput对于第二种情况,如果您正在显示图像,请使用imtool。它将向您显示像素位置和像素值。

于 2012-07-12T14:09:40.907 回答
1

使用Data Cursor工具栏中的 。

于 2012-07-11T18:49:49.983 回答
0

这个问题已有 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))];

现在只需单击工具栏中的数据光标工具,然后单击一个数据点。

在此处输入图像描述

于 2017-02-19T08:40:15.523 回答