2011-12-20 87 views
4

私はユーザーがクリックできる図形を持っています。クリックの座標は、2つのベクトルxとyに格納されます。新しく作成した点をplot(x_new, y_new)でプロットするよりも、ラベルdelete pointを持つこの点について私が作成した文脈があります。それをクリックすると、xyベクトルの対応する値が削除されます。MATLABプロットから点と線を削除する

私は何とかプロットポイントを削除する必要があります。現在私はこのようにしています:ポイントを削除するときは、現在の軸claをクリアしてすべてのポイントを一度に再描画します。しかし、どういうわけか、私はテキストとユーザー入力のポイント間にいくつかの接続線を表示したいので、これは最良の方法ではないと感じています。だから私はそれを行うための最善の方法は何ですか? 各ポイントの戻ってくるプロットハンドルを保存し、そのポイントを削除するときにそれらのオブジェクトを削除するのは良いでしょうか?接続線やテキストにも同じですか?

ありがとうございます!

答えて

5

XDataおよびYDataプロパティを使用して、行の基になるデータを直接操作できます。インデックスidxでポイントを削除するには

XData = get(h_line, 'XData'); 
YData = get(h_line, 'YData'); 
XData(idx) = []; 
YData(idx) = []; 
set(h_line, 'XData', XData, 'YData', YData); 
1

は「refreshdataを」を使用して別のオプションもありますが、それは非常に遅く、醜いコードが作成されますので、私は、それを好きではありません。 だから私は@ Nzbuuの解決策に+1を投票するが、もし誰かに興味があればこれを追加する

関連する問題