Graphics | ![]() ![]() |
グラフィックオブジェクトのタイプ
グラフィックスオブジェクトは、相互関連性があるので、グラフィックス表示は一般に種々のオブジェクトを含み、これらをまとめて意味のあるグラフや図を作成します。つぎのFigureウィンドウの図には、いくつかのグラフィックスオブジェクトが含まれています。
各タイプのグラフィックスオブジェクトは、そのクラスのオブジェクトの見本を作成するために使用する、対応する作成関数をもっています。オブジェクト作成関数は、それらが作成するオブジェクトと同じ名前をもっています(たとえば、関数text
はTextオブジェクトを作成し、関数figure
はFigureを作成するという具合です)。
Handle Graphics オブジェクト
つぎのリストは、Handle Graphicsオブジェクトについて、まとめたものです。
Root
階層の最上位はRootオブジェクトです。それはコンピュータスクリーンに相当します。Rootオブジェクトは1つだけで、その他のすべてのオブジェクトはその下位オブジェクトです。ユーザは、Rootオブジェクトを作成できません。MATLABを起動するとRootオブジェクトは自動的に作成されます。しかし、Rootのプロパティ値は設定でき、それによりグラフィックス表示に影響を与えることができます。
Figure
Figureオブジェクトは、MATLABがグラフィックスを表示するRootスクリーン上の個々のウィンドウです。MATLABは、作成できるFigureウィンドウの数を制約しません(しかし、コンピュータが制限する場合があります)。すべてのFigureは、Rootの子オブジェクトで、その他のすべてのグラフィックスオブジェクトはFigureの下層要素です。
グラフィックスを描画するすべての関数(たとえば、plot
やsurf
)は、Figureが存在しなければ自動的に作成します。Root内に複数のFigureがある場合、1つのFigureが常に"カレント"Figureに割り当てられ、グラフィックス出力のターゲットとなります。
Uicontrol
Uicontrolオブジェクトは、ユーザがオブジェクトにアクセスしたときにコールバックルーチンを実行するユーザインタフェースコントロールです。プッシュボタン、リストボックス、スライダのようないくつかのコントロールのスタイルがあります。各デバイスは、ユーザからの特定のタイプの情報を受け入れるように設計されています。たとえば、リストボックスは、コントロールコールバックルーチンにより実行される動作の対象になるファイルを1つまたは複数選択できるように対象となるファイルの一覧を表示するものです。
Uicontrolを組み合わせて用いることにより、コントロールパネルやダイアログボックスを作成することができます。つぎの例は、ポップアップメニュー、エディタブルテキストボックス、チェックボックス、プッシュボタン、スタティックテキスト、フレームから構成されています。
Uicontrolオブジェクトは、Figureの子オブジェクトであるため、Axesからは独立しています。
Uimenu
Uimenuオブジェクトは、ユーザが個々のメニュー項目を選択したときにコールバックルーチンを実行するプルダウンメニューです。MATLABは、Figureウインドウメニューバー上で、システムによって定義された既存のメニューの右側にUimenuを配置します。下の図は、3つのトップレベルのUimenu(Workspace、Figure、Axes というタイトルが付けられています)が定義されたMS-WindowsのFigureの上部を示したものです。サブメニューの2つのレベルが、トップレベルのWorkspace メニューから見ることができます。
UimenuはFigureの子オブジェクトであるため、Axesからは独立しています。
Axes
Axesオブジェクトは、Figureウィンドウの中で領域を定義し、この領域内で子オブジェクトの方向を選択します。AxesはFigureの子オブジェクトで、Image、Light、Line、Patch、Surface、Textオブジェクトの親オブジェクトです。
グラフィックスを描画するすべての関数(たとえば、plot
, surf
, mesh
, bar
)は、Axesオブジェクトが存在しなければ、Axesオブジェクトを作成します。Figureに複数のAxesが存在する場合、1つのAxesが常に"カレント"
Axesに割り当てられ、上記のグラフィックスオブジェクトを表示するターゲットになります(UicontrolとUimenuはAxesの子オブジェクトではありません)。
Image
MATLABのImageは、データ行列と多くの場合カラーマップの2つのものから構成されています。データ行列要素をピクセルカラーとして解釈する方法の違いから、インデックス付き、強度、トゥルーカラーの3つの基本的なImageタイプがあります。イメージは厳密には2次元なので、それらはデフォルトの2次元表示でのみ表示することができます。
Light
Lightオブジェクトは、Axes内部のすべてのオブジェクトに影響する光源を定義します。Lightは見ることはできませんが、光源、カラー、位置のスタイルを制御するプロパティやすべてのグラフィックスオブジェクトに共通のその他のプロパティを設定することができます。
Line
Lineオブジェクトは、ほとんどの2次元プロットといくつかの3次元プロットを作成するために使用する基本グラフィックス要素です。高水準の関数plot
, plot3
, loglog
その他)は、Lineオブジェクトを作成します。親オブジェクトのAxesの座標系がLineの位置と方向を決めます。
Patch
Patchオブジェクトは、エッジをもつ塗りつぶし多角形です。単一のPatchは複数の面を含むことができ、それぞれの面は均一なカラーまたは補間したカラーで別々にカラーリングされています。fill
,
fill3
, contour3
は、Patchオブジェクトを作成します。親オブジェクトのAxesの座標系が、Patchの位置と方向を決めます。
Rectangle
Rectangleオブジェクトは、長方形から楕円形に位置するもので内部を塗り潰した面積を表わすものです。Rectangleは、フローチャートを作成する場合に、有効なものです。
Surface
Surfaceオブジェクトは、各行列要素の値をx-y平面での高さとしてプロットすることによって作成される行列データの3次元表現です。Surfaceプロットは、頂点を行列データで設定した四辺形で構成されています。MATLABでは、均一なカラーまたは補間したカラーでカラーリングされたSurface、または点をラインで結んだメッシュのみのSurfaceを描画することが可能です。親オブジェクトのAxesの座標系がSurfaceの位置と方向を決めます。
高水準関数pcolor
、surf
、mesh
は、Surfaceオブジェクトを作成します。
Text
Textオブジェクトは、キャラクタ文字列です。親オブジェクトAxesの座標系がTextの位置を決めます。高水準関数title
, xlabel
, ylabel
, zlabel
, gtext
が、Textオブジェクトを作成します。
![]() |
グラフィックオブジェクト階層 | オブジェクトプロパティ | ![]() |