2

次のようなボックス選択を使用して、figureまたはにプロットされたポイントのインデックスを取得する必要がある場合:axe

load cities
education = ratings(:,6);
arts = ratings(:,7);
plot(education,arts,'+')

デモ画像をプロットする

educationベクトルからではなく、ベクトル内のこれらのポイントのインデックスを取得する方法はx axis

このプロットだけでなく、ソリューションを柔軟にしたいと思います。ボックス選択を使用して、任意のポイントセットのインデックスを取得したいと思います。

4

1 に答える 1

3

(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);
...
于 2013-01-20T06:10:10.307 に答える