15.3.1 Introduction to Graphics Structures

Last-modified: 2025-03-30 (日) 19:51:18

15.3.1 グラフィックス構造の紹介¶

グラフィックス関数は、グラフィックス ハンドル クラスのポインターを使用して、視覚表示を制御するデータ構造をアドレス指定します。グラフィックス ハンドルは、さまざまな基本オブジェクト タイプのいずれかを指すことができます。これらのオブジェクトは、グラフィックス データ構造そのものです。プリミティブ グラフィックスオブジェクト タイプはfigure, axes, line, text, patch, scatter, surface, text, image, およびlightです。

これらの各オブジェクトには同じ名前の関数があり、各関数は対応するタイプのオブジェクトを指すグラフィックス ハンドルを返します。

さらに、グラフィックス オブジェクトのプロパティを操作し、ハンドルを返す関数もいくつかあります。これには、次の関数が含まれますが、これらに限定されません。関数plotおよび は、plot3 タイプ のオブジェクトを指すハンドルを返しますline。 関数 は 、subplotタイプ のオブジェクトを指すハンドルを返しますaxes。関数fill、 、fill3、trimeshは、trisurf タイプ patch のオブジェクトを指すハンドルを返します。 関数 は、 scatter3タイプ scatter のオブジェクトを指すハンドルを返します。関数 slice、surf、surfl、mesh、meshz、 pcolorはそれぞれ、タイプsurface waterfallのハンドルを返します。 関数 は、タイプlightのオブジェクトを指すハンドルをcamlight返します。関数area、bar、barh、contour、 contourf、contour3、、はそれぞれ、「データ ソース」に記載されている複雑なデータ構造へのハンドルを返し ます。 surfcmeshcerrorbarquiverquiver3stairstemstem3

グラフィック オブジェクトは階層的に配置されます。

1. ルート オブジェクトはgroot(歴史的にはハンドル 0 に相当) によって返されます。つまり、get (groot)ルート オブジェクトのプロパティを返します。

2. ルートの下にはfigureオ​​ブジェクトがあります。

3. オブジェクトの下にはまたはオブジェクトfigureがあります。 axeshggroup

4.axesまたはhggroupオブジェクトの下にはline、、、、、、、 およびオブジェクト textがあります patch。scattersurfaceimagelight

グラフィックス オブジェクトの プロパティ"parent" とプロパティを照会することで、この階層ツリーをたどることができます。"children"

グラフィックス ハンドルは、関数 によって関数ハンドル (関数ハンドル を参照) と区別できますishghandle。 ishghandleは、引数がグラフィックス オブジェクトのハンドルである場合に true を返します。さらに、figure オブジェクトまたは axes オブジェクトは、 それぞれisfigureまたはを使用してテストできますisaxes。パッチ オブジェクトや線オブジェクトなどの特定の種類のグラフィックス ハンドルをテストするには、 を使用しますisgraphics。より具体的なテスト関数は、引数がグラフィックス ハンドルであり、かつ正しい種類 (figure、axes、指定されたオブジェクトの種類) である場合にのみ true を返します。

およびコマンドはget、setグラフィックス オブジェクトのプロパティの値を取得および設定するために使用されます。また、getコマンドを使用してプロパティ名を取得することもできます。

たとえば、"type"グラフィックス ハンドル h が指すグラフィックス オブジェクトのプロパティは、次のように表示できます。

get (h, "type")

プロパティとその現在の値は、 (グラフィックス オブジェクトのハンドル)を使用して構造体の形式で取得できますs = get (h)。hプロパティの名前と許可された値(ラジオ プロパティのみ)だけが必要な場合は、 を使用できますset (h)。

たとえば、次のようになります。

h = figure ();
get (h, "type")
⇒ ans = figure
set (h)
⇒
       alphamap:
       beingdeleted:  [ {off} | on ]
       busyaction:  [ cancel | {queue} ]
       buttondownfcn:
       clipping:  [ off | {on} ]
       closerequestfcn:
       color:
       colormap:
       createfcn:
       currentaxes:
       deletefcn:
       dockcontrols:  [ {off} | on ]
       filename:
       graphicssmoothing:  [ off | {on} ]
       handlevisibility:  [ callback | off | {on} ]
       ...

getおよびの使用法については、get、setsetでさらに詳しく説明します 。

: res = isprop (obj, "prop")

prop がオブジェクトobjのプロパティである場合は true を返します。

obj はオブジェクトの配列である場合もあります。その場合、res は各ハンドルにプロパティpropがあるかどうかを示す論理配列になります。

プロットの場合、obj はグラフィックス オブジェクトへのハンドルです。それ以外の場合、 obj はクラスのインスタンスである必要があります。 ispropクラスがプロパティを定義しているかどうかを報告しますが、Access権限または可視性の制限 ( Hidden = true) によりプログラマーによる使用が妨げられる場合があります。

See also: get, set, properties, ismethod, isobject.