如果我需要在 a 上figure
或axe
通过使用框选择来获取某些绘制点的索引,如下所示:
load cities
education = ratings(:,6);
arts = ratings(:,7);
plot(education,arts,'+')
如何获取向量中这些点的索引而education
不是来自x axis
?
我希望解决方案灵活,而不仅仅是这个情节。我想使用框选择来获取任何点集的索引。
如果我需要在 a 上figure
或axe
通过使用框选择来获取某些绘制点的索引,如下所示:
load cities
education = ratings(:,6);
arts = ratings(:,7);
plot(education,arts,'+')
如何获取向量中这些点的索引而education
不是来自x axis
?
我希望解决方案灵活,而不仅仅是这个情节。我想使用框选择来获取任何点集的索引。
(i)如果点数较小,可以使用图形 gui 中的数据光标工具。
(ii)给定一些边界,您可以使用find
或逻辑条件,例如:
ind = find(arts>2e4 & education>2500 & education<3800);
ans = arts(ind)`
所以plot(education(ind),arts(ind),'ro')
会显示它:
(iii)您可以通过交互方式选择一个框imrect
h = imrect;
position = wait(h);
然后使用函数的position
(这是一个向量[xmin ymin width height]
)值find
:
ind =find(education>position(1) & education<position(1)+position(3) & ...
arts>position(2) & arts<position(2)+position(4))
编辑:
在我被问到如何impoly
使用多边形选择之后,这是解决方案:
h = impoly;
position = wait(h);
points_in= inpolygon(education,arts,position (:,1),position (:,2));
ind=find(points_in);
...