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 | ![]() |