| MATLAB Function Reference | ![]() |
Synopsis
rbbox rbbox(initialRect) rbbox(initialRect,fixedPoint) rbbox(initialRect,fixedPoint,stepSize) finalRect = rbbox(...)
詳細
rbbox
は、カレントの Figure 内の ラバーバンドボックスを初期化し、追跡します。初期のボックスの長方形のサイズを 0 に設定し、Figure の CurrentPointにボックスを設定し、Figure の CurrentPoint で追跡を開始します。
rbbox(initialRect)
は、ラバーバンドボックスの初期の位置とサイズを [x y width height] とします。ここで、x と y は左下隅を、width と height はサイズを定義します。initialRect は、カレントの Figure の Units プロパティで指定される単位を用いて、Figure ウィンドウの左下隅から測定されます。ポインタの位置に最も近いボックスの隅は、rbbox がボタン解除のイベントを受け取るまでポインタを追跡します。
rbbox(initialRect,fixedPoint)
は、固定したままにする枠の隅を指定します。すべての引数は、カレントの Figure の Units プロパティで指定される単位で表わされ、Figure ウインドウの左下隅から測定されます。fixedPoint は、2要素のベクトル [x y] です。追跡点は、fixedPoint で定義した固定されている隅の反対側の隅です。
rbbox(initialRect,fixedPoint,stepSize)
は、ラバーバンドボックスが更新される頻度を指定します。追跡点が、Figure の単位で stepSize を越えたとき、rbbox は、ラバーバンドボックスを書き直します。デフォルトの stepsize は 1 です。
finalRect = rbbox(...)
は、4要素のベクトル [x y width height] を出力します。ここで、x と y は枠の左下隅の x と y 成分で、width と height は枠の大きさです。
注意
(x,y) が、Figure の CurrentPoint のとき、initialRect は [x y 0 0] です。initialRect
は、リサイズする長方形の領域(たとえば、凡例)を指定します。fixedPoint は追跡点の反対側の隅です。ボタンがカレントで押されなければ、rbbox
はすぐに出力します。よって、rbbox が、コールされたときにマウスボタンが押されているように、waitforbuttonpress を設定して、rbbox を使います。rbbox は、マウスボタンを解除したときに出力します。
例題
カレントの視点を view(2) とし、データ空間単位を用いて長方形の大きさを決定するために、カレントの Axes の CurrentPointプロパティを使います。
k = waitforbuttonpress; point1 = get(gca,'CurrentPoint'); % button down detected finalRect = rbbox; % return figure units point2 = get(gca,'CurrentPoint'); % button up detected point1 = point1(1,1:2); % extract x and y point2 = point2(1,1:2); p1 = min(point1,point2); % calculate locations offset = abs(point1-point2); % and dimensions x = [p1(1) p1(1)+offset(1) p1(1)+offset(1) p1(1) p1(1)]; y = [p1(2) p1(2) p1(2)+offset(2) p1(2)+offset(2) p1(2)]; hold on axis manual plot(x,y) % redraw in dataspace units
参考
axis, dragrect, waitforbuttonpress
| rat, rats | rcond | ![]() |