| MATLAB Function Reference | ![]() |
ユーザは、つぎの2つの方法を使って、グラフィックオブジェクトのプロパティを設定したり、引用できます。
setとget は、プロパティの値を設定したり、引用したりします。プロパティのデフォルト値を変更するには、 デフォルトプロパティ値の設定を参照してください。
Rectangle プロパティの記述
この節は、プロパティ名とそこで設定できる値のタイプをリストしています。中括弧{}はデフォルト値です。
BusyAction cancel | {queue}
コールバックルーチンの割込み。BusyAction プロパティを使って、実行中のコールバックルーチンに割込みを行うイベントの取り扱い方法を制御することができます。実行中のコールバックルーチンがあれば、続いて呼び込まれるコールバックルーチンは、常にそれを中断しようとします。実行中のオブジェクトのコールバックのInterruptibleプロパティがon (デフォルト)に設定されていれば、イベントキューが処理されるつぎの点で割込みが起こります。Interruptibleプロパティがoffならば、(実行中のコールバックをもつオブジェクトの)BusyActionプロパティは、MATLABがイベントを処理する方法を指定します。つぎのような選択があります。
cancel - 2番目のコールバックルーチンを実行しようとしたイベントを破棄します。queue - 現在のコールバックが終了するまで、2番目のコールバックルーチンを実行しようとするイベントを待機させます。ButtonDownFcn 文字列
ボタンを押したときのコールバックルーチン。マウスポインタがrectangleオブジェクト上にあるときにマウスボタンを押すと、必ず実行されるコールバックルーチン。このルーチンには、正しいMATLAB表現またはM-ファイル名を文字列として定義してください。式は、MATLABワークスペース内で実行します。
Children ハンドル番号からなるベクトル
空行列。rectangle オブジェクトは、子オブジェクトをもちません。
Clipping {on} | off
クリッピングモード。MATLAB は、デフォルトでrectangle オブジェクトを Axes のプロットボックスにクリップします。Clippingプロパティをoffに設定すると、rectangle オブジェクトは Axesのプロットボックスの外に表示します。rectangle オブジェクトを作成し、holdを onにし、軸のスケーリングを固定 (axis manual)、その後でより長い rectangle オブジェクトを作成したときに、このようなことが起こります。
CreateFcn 文字列
オブジェクト作成時に実行されるコールバックルーチン。このプロパティは、MATLAB が rectangle オブジェクトを作成するときに実行するコールバックルーチンを定義します。rectangleオブジェクトに対するデフォルト値として、このプロパティを定義しなくてはいけません。たとえば、
set(0,'DefaultRectangleCreateFcn',...
'set(gca,''DataAspectRatio'',[1,1,1])')
は、rectangle オブジェクト作成時に、Axes のDataAspectRatio を設定するルートレベルのデフォルト値を定義します。MATLABは、すべての rectangle のプロパティを設定した後に、このルーチンを実行します。既存のrectangle オブジェクトにこのプロパティを設定しても、効果はありません。
実行しているオブジェクトのCreateFcnのハンドルは、gcboを使って引用できるルートのCallbackObjectプロパティを通してのみアクセスできます。
Curvature 1要素、または、2要素ベクトル[x,y]
水平方向と垂直方向の曲率の総量。このプロパティは、直方体から楕円体に直角のものを変化させるときの両側の曲率を指定するものです。水平方向の曲率x は、最上部から最下部までの曲線と幅の割合で、垂直方向の曲率y は、左右にエッジに沿った曲線と高さの割合です。
x と y の値は、0 (曲率0)から1 (最大曲率)までを表しています。[0,0]の値は、立方体を生成します。[1,1] は、楕円体を表します。1つの値がCurvatureに設定された場合、水平方向、垂直方向同じ長さになります。曲率の総量は、次元がより低くなるように決定されます。
DeleteFcn 文字列
rectangle のコールバックルーチンの削除。rectangleオブジェクトを削除する(たとえば、 delete の実行や、Axesや Figure を消去する)とき、実行するコールバックルーチン。MATLABは、オブジェクトのプロパティを削除する前にルーチンを実行するので、これらの値はコールバックルーチンに対して利用可能です。
実行しているオブジェクトのDeleteFcnのハンドルは、gcboを使って引用できるルートのCallbackObjectプロパティを通してのみアクセスできます。
EdgeColor {Colorspec} | none
直方体エッジのカラーです。このプロパティは、直方体エッジのカラーを1色として設定するか、または、エッジを描画しないように設定します。
EraseMode {normal} | none | xor | background
消去モード。このプロパティは、rectangleオブジェクトを描いたり、消去するMATLABの機能を制御するものです。消去モードは、連続的に動きを表現するアニメーションの作成に有効なものです。すなわち、アニメーションでは、パフォーマンスを改良したり、希望する効果を得るために、個々のオブジェクトを再描画する方法を制御する必要があります。
normal (デフォルト) - すべてのオブジェクトが正しく描画されることを保証するために必要な3次元解析を行い、表示範囲を再描画します。このモードは、最も正確な図を表示することができますが、非常に時間のかかるものです。他のモードは、かなり時間の短縮にはなりますが、完全な図を再表示することはできず、精度は悪くなります。none - rectangleは移動したり、壊されても、消去されません。 EraseMode に noneを使って消去した後で、スクリーン上でオブジェクトが視覚可能であっても、MATLABは以前の位置に関する情報を格納しないので、印刷できません。xor - rectangleは、その下のスクリーンの各ピクセルのインデックスとの排他的論理和(XOR)により、表示と消去が行われます。rectangleの消去は、rectangleの下のオブジェクトの色に影響を与えません。しかし、rectangleのカラーは、その下のスクリーンのカラーに依存します。background - axesのバックグランドColorの中でそれを描くことで、ラインを消去します。または、axeのColorが、noneに設定されている場合、フィギュアのバックグランド
Colorを使って消去します。これは、消去したラインに隠れていたオブジェクトに影響を与えますが、ラインは、常に適切に色付けされます。Non-normal Erase モードでの印刷
MATLABは、すべてのオブジェクトのEraseModeが、normalであるかのようにフィギュアを印刷します。これは、EraseModeに、none, xor, backgroundのいずれかを設定して作成されたグラフィックオブジェクトは、スクリーンでの表示と印刷用紙での表示が異なって見えることを意味しています。スクリーン上で、MATLABは、カラー層を数学的に合わせて(たとえば、ピクセルカラーとその後ろにあるピクセルのカラーとの排他的な和を計算する)、)最大のレンダリングスピードを得るための3次元のソートを無視しています。しかし、これらの技法は、印刷出力には適用されません。
MATLABのコマンドgetframeや、他のスクリーンキャプチャアプリケーションを使って、非ノーマルなモードでのオブジェクトを含むフィギュアのイメージを作成することができます。
FaceColor ColorSpec | {none}
直方体の面のカラー。このプロパティは、直方体の面のカラーを指定します。デフォルトでは、色付けされません。
HandleVisibility {on} | callback | off
コマンドラインユーザとGUIによるオブジェクトのハンドルへのアクセスの制御。このプロパティは、オブジェクトのハンドルが、その子オブジェクトの親のリスト内で視覚可能であるときを決定します。HandleVisibilityプロパティは、(ダイアログボックスのような)ユーザインタフェースデバイスのみを含んでいるFigure内に、コマンドラインから誤って書き込むことや削除することを防ぐために有効です。
HandleVisibilityがonのときは、ハンドルは常に見える状態です。
HandleVisibilityをcallbackに設定すると、ハンドルは、コールバックルーチンの中から、または、コールバックにより起動される関数からは可視化されますが、コマンドラインから起動される関数の中からは可視化されません。これは、コマンドラインユーザがGUIを保護しながら、コールバックルーチンがオブジェクトのハンドルに完全にアクセスできるようにするために提供されています。
HandleVisibilityをoffに設定すると、常にハンドルは視覚不可能になります。これは、コールバックルーチンが、GUI(ユーザがタイプした文字列の評価のような)を傷つける可能性がある関数を呼び込み、その関数の実行中にハンドルを一時的に隠すときに必要です。
ハンドルが子オブジェクトの親のリスト内で視覚不可能のとき、オブジェクトの階層を検索したり、ハンドルのプロパティを確認してハンドルを取得する関数は、ハンドル番号を出力できません。これらの関数には、get, findobj, gca, gcf, gco, newplot, cla, clf, closeが含まれます。
ハンドルの視覚状態がcallbackやoffを使って制限されているとき、オブジェクトのハンドルは、その親のChildrenプロパティには現れません。Figureは、ルートのCurrentFigureプロパティに現れず、オブジェクトは、ルートの CallbackObjectプロパティ、または、FigureのCurrentObjectプロパティに現れません。そして、Axesは、親オブジェクトのCurrentAxes プロパティに現れません。
ルートのShowHiddenHandlesプロパティをonに設定すると、それらのHandleVisibilityの設定(これは、HandleVisibilityプロパティの値に影響を与えません)に拘わらず、すべてのハンドルを視覚可能にできます。
隠されているハンドル番号も、まだ有効です。オブジェクトのハンドルが分かっていると、そのプロパティを関数set と get で設定し、ハンドルを取り扱う関数に渡すことができます。
HitTest {on} | off
マウスクリックによる選択。HitTest は、rectangle 上でのマウスクリックの結果、rectangle がカレントのオブジェクト(gcoコマンドとFigureのCurrentObjectプロパティにより出力される)になり得るかどうかを指定します。HiTestがoffならば、rectangle をクリックすると、その下のオブジェクト(このオブジェクトを含むAxesかもしれません)を選択します。
Interruptible {on} | off
コールバックルーチンの中断モード。Interruptibleプロパティは、rectangleのコールバックルーチンが、連続的に呼び込まれるコールバックルーチンによって、中断されるかどうかを制御します。ButtonDownFcnに対して定義されたコールバックルーチンのみが、Interruptibleプロパティにより影響を受けます。MATLABは、ルーチン内でdrawnow, figure, getframe, pauseコマンドが実行されるときのみ、コールバックルーチンを中断できるイベントを確認します。
LineStyle {-} | -- | : | -. | none
ラインスタイル。 このプロパティは、エッジのラインスタイルを指定します。使用可能なラインスタイルを以下に示します。
| シンボル |
ラインスタイル |
- |
solid line (default) |
-- |
dashed line |
: |
dotted line |
-. |
dash-dot line |
none |
no line |
LineWidth スカラー
直方体オブジェクトの幅。ポイント数で指定します(1ポ
イント= 1/72 インチ)。デフォルトのrectangleWidthは、0.5ポイントです。
Parent ハンドル番号
rectangle の親オブジェクト。 rectangle の親オブジェクトであるAxes のハンドル番号。このプロパティを新しい Axes のハンドル番号に変更することにより、rectangleオブジェクトを他の Axes に移動できます。
Position 4要素からなるベクトル[x,y,width,height]
長方形の位置や大きさを設定。
このプロパティは、Axesのデータ単位を使って、長方形の位置とサイズを指定します。x、y で定義される点は、長方形の1つの隅を表し、width と height は、xとyの軸に沿ったサイズを定義します。
Selected on | off
選択されたオブジェクト。このプロパティが onのとき、MATLAB は、SelectionHighlightプロパティもonならば、ハンドル番号の選択状態を示すハンドルを表示します。たとえば、このプロパティを設定するためにButtonDownFcnを定義すると、マウスでオブジェクトを選択することができます。
SelectionHighlight {on} | off
選択時のオブジェクトの強調。Selectedプロパティが on のとき、MATLAB は各々の頂点にハンドルを描くことにより、選択された状態を表わします。SelectionHighlightが offならば、MATLAB はハンドルを描きません。
Tag 文字列
ユーザ指定のオブジェクトのラベル。Tagプロパティは、ユーザ指定のラベルを使ってグラフィックスオブジェクトを識別する方法を提供します。これは、オブジェクトのハンドル番号をグローバル変数として定義したり、コールバックルーチン間で引数として渡すことを必要とする、対話的なグラフィックスプログラムを構築するときに、特に有効です。任意の文字列でTagを定義できます。
Type 文字列(参照のみ)
グラフィックスオブジェクトのクラス。rectangle オブジェクトでは、Typeは、常に文字列 'rectangle'です。
UIContextMenu uicontextmenu オブジェクトのハンドル
rectangleに関連したコンテキストメニュー。
Linrと同じFigure内に作成するUicontextmenuオブジェクトのハンドルに、このプロパティをアサインします。コンテキストメニューを作成するには、関数uicontextmenuを使います。rectangle上を右クリックすると、コンテキストメニューを表示します。
UserData 行列
ユーザ指定のデータ。任意のデータをrectangle オブジェクトに関連付けることができます。MATLAB は、このデータを使いませんが、setとgetを使って、アクセスすることができます。
Visible {on} | off
ラインの可視化。デフォルトでは、すべてのrectangle が視覚可能です。offに設定すると、rectangle は見えなくなりますが、それでも存在していて、そのプロパティに対してsetと getを使うことができます。
| rectangle | reducepatch | ![]() |