【发布时间】:2011-11-19 06:57:52
【问题描述】:
我的图像/图形上有一些 2D 点。
我用这个功能
im_data= rand(100,2);
scatter(im_data(:,1),im_data(:,2),'r*')
[x,y,button] = ginput()
im_data(x,y)=[];
我想通过简单地放大/放大来删除 [x,y] 以避免删除正确的点。 有什么帮助吗?
【问题讨论】:
我的图像/图形上有一些 2D 点。
我用这个功能
im_data= rand(100,2);
scatter(im_data(:,1),im_data(:,2),'r*')
[x,y,button] = ginput()
im_data(x,y)=[];
我想通过简单地放大/放大来删除 [x,y] 以避免删除正确的点。 有什么帮助吗?
【问题讨论】:
您可以使用数据brushing 和数据linking 到interactively mark 点的组合并将它们从散点图中删除。
例子:
%# random data
x = rand(100,1);
y = rand(100,1);
%# scatter plot
hFig = figure;
scatter(x, y, 50, 'r', 'filled')
%# turn on brushing and linking
hBrush = brush(hFig); set(hBrush, 'Enable','on', 'Color','g')
linkdata(hFig, 'on')
现在您可以使用画笔工具来选择数据点,方法是拖动选择矩形,单击鼠标右键,然后选择删除。由于我们将绘制的数据与实际变量联系起来,因此删除的点也会反映在x和y变量中。
请注意,您始终可以使用缩放工具放大特定区域,然后切换到画笔进行选择...
如上图删除点后,我们可以查看变量:
>> whos x y
Name Size Bytes Class Attributes
x 86x1 688 double
y 86x1 688 double
【讨论】: