15.3.2.1 Creating Graphics Objects

Last-modified: 2025-03-30 (日) 19:56:47

15.3.2.1 グラフィックスオブジェクトの作成

オブジェクトと同じ名前の関数を呼び出すことで、任意のグラフィックス オブジェクト プリミティブを作成できます。つまりfigure、、、、、、、、、および 関数です。これらの基本的なグラフィックス オブジェクトはaxes、 が配置されているかのように、自動的に現在の axes オブジェクトの子になります。また、axes は自動的に現在の figure オブジェクトのline子textになり、figure はルート オブジェクトの子になります。 imagepatchsurfacelighthold on

この自動結合機能が不要な場合は、 newplotまず を呼び出して、プロット用の新しい図と軸を準備することが重要です。または、より簡単な方法は、プロットを作成してから低レベルのグラフィックス オブジェクトでプロットを設定する高レベルのグラフィックス ルーチンを呼び出すことです。 を呼び出す代わりにline、 を使用しますplot。または、surfの代わりに を使用しますsurface。または、の代わりにfillまたは を使用します。 fill3patch

: axes ()

: axes (property, value, …)

: axes (hpar, property, value, …)

: axes (hax)

: h = axes (…)

直交座標軸オブジェクトを作成し、そのハンドルを返すか、現在の座標軸をhaxに設定します。

引数なしで、またはプロパティ/値のペアで呼び出され、新しい軸を構築します。オプションの引数hparは、新しい軸の親を指定するグラフィック ハンドルであり、figure、uipanel、または uitab になります。

単一の軸ハンドル引数haxで呼び出されるこの関数は、 hax を現在の軸にします ( によって返されるとおり)。また、 haxgcaを含む図を現在の図にします ( によって返されるとおり )。最後に、 軸hax がリスト内の他のすべての軸ハンドルの前に表示されるように、親オブジェクトのプロパティを再スタックします。これにより、 hax は他のすべての軸オブジェクトの上に表示されます (Z オーダー スタッキング)。さらに、haxに関連付けられた凡例またはカラーバー オブジェクトも再スタックして表示されるようにします。 gcfchildren

プログラミング ノート: プロパティの完全なリストは、 Axes Propertiesに記載されています。

See also: gca, set, get.

: line ()

: line (x, y)

: line (x, y, z)

: line ("xdata", x, "ydata", y)

: line ("xdata", x, "ydata", y, "zdata", z)

: line (…, property, value)

: line (hax, …)

: h = line (…)

xとy (および場合によってはz )から線オブジェクトを作成し、現在の軸に挿入します。

標準の呼び出し形式では、データx、y、z はスカラー、ベクトル、または行列になります。行列入力の場合、line は結果をプロットできるようにスカラーとベクトルの方向を調整します。これには、ベクトルの次元の 1 つが行列の行数または列数と一致する必要があります。

データが名前で指定される低レベルの呼び出し形式(50% 高いパフォーマンス)では()、データはベクトルである必要があります。データが指定されていない場合()、 となります 。 line ("xdata", x, …)line ()x == y = [0, 1]

ライン オブジェクトには複数のプロパティと値のペアを指定できますが、ペアで指定する必要があります。

プロパティ/値のペアのみで呼び出された場合、指定されていないプロパティはルート オブジェクトで指定されたデフォルト値を使用します。

最初の引数hax が軸ハンドルである場合、 によって返される現在の軸ではなく、この軸にプロットしますgca。

オプションの戻り値hは、作成された線オブジェクトへのグラフィックス ハンドル (またはハンドルのベクトル) です。

プログラミング ノート: プロパティの完全なリストは、 Line Propertiesに記載されています。

この関数は、最初にプロットをクリアせずに、現在の軸に線オブジ

See also: image, patch, rectangle, surface, text.

: patch ()

: patch (x, y, c)

: patch (x, y, z, c)

: patch ("Faces", faces, "Vertices", verts, …)

: patch (…, "prop", val, …)

: patch (…, propstruct, …)

: patch (hax, …)

: h = patch (…)

現在の軸に、位置 ( x、y ) に頂点を持ち、色cのパッチ オブジェクトを作成します。

頂点が MxN サイズの行列である場合、各ポリゴン パッチには M 個の頂点があり、合計 N 個のポリゴンが作成されます。一部のポリゴンに M 個の頂点がない場合は、NaN を使用して「頂点なし」を表します。z 入力が存在する場合は、 3D パッチが作成されます。

色引数c はさまざまな形式を取ることができます。すべて同じ色を共有するポリゴンを作成するには、文字列値 (例:"r"赤)、caxis現在のカラーマップでスケールされインデックス付けされたスカラー値、または正確な TrueColor を持つ 3 要素の RGB ベクトルを使用します。

cが長さ N のベクトルである場合、i 番目のポリゴンの色は、エントリc (i)をスケーリングしcaxisて現在のカラーマップにインデックス付けすることによって決定されます。より複雑な色付けの状況では、パッチのプロパティ/値のペアを直接操作する必要があります。

マトリックスxとyでポリゴンを指定する代わりに、一意の頂点リストと、それらの頂点から作成されたポリゴン面のリストを提示することができます。この場合、 "Vertices"マトリックスは Nx2 (2-D パッチ) または Nx3 (3-D パッチ) になります。MxN"Faces"マトリックスは、N 個の頂点を持つ M 個のポリゴンを表します。各行は 1 つのポリゴンを表し、各列エントリはマトリックス内で頂点を識別するためのインデックスです 。パッチ オブジェクトは、プロパティ/値のペア/ verts、/ faces を"Vertices"入力として直接渡すことで作成できます 。 "Vertices""Faces"

プロパティ/値のペアを使用する代わりに、それぞれのフィールド名を持つ構造体propstruct を渡すことによって、任意のプロパティを設定できます。

最初の引数hax が軸ハンドルである場合、 によって返される現在の軸ではなく、この軸にプロットしますgca。

オプションの戻り値hは、作成されたパッチ オブジェクトへのグラフィックス ハンドルです。

プログラミングノート:

プロパティの完全なリストは、パッチ プロパティに記載されています。 有用なパッチ プロパティには"edgecolor"、、、、、などがあります。 "facecolor""faces""vertices""facevertexcdata"
ジオメトリを定義する xyz 形式と面頂点形式を混在させると、予期しないジオメトリ結果が発生する可能性があります。
"cdata"面頂点定義ジオメトリでカラー定義を使用したり、"facevertexcdata" xyz 定義ジオメトリでカラー定義を 使用すると、予期しないパッチ カラー結果が発生する可能性があります。

: surface (x, y, z, c)

: surface (x, y, z)

: surface (z, c)

: surface (z)

: surface (…, prop, val, …)

: surface (hax, …)

: h = surface (…)

行列xとyと 、表面の x座標とy座標に対応する 値zmeshgridの行列を指定して、表面グラフィック オブジェクトを作成します。

xとyがベクトルの場合、典型的な頂点は ( x (j), y (i), z (i,j)) です。したがって、 zの列は異なるx値に対応し、zの行は異なる y値に対応します。入力zが1 つだけ与えられた場合、 x は、 yは とみなされます。 1:columns (z)1:rows (z)

任意のプロパティ/値入力ペアがサーフェス オブジェクトに割り当てられます。

最初の引数hax が軸ハンドルである場合、 によって返される現在の軸ではなく、この軸にプロットしますgca。

オプションの戻り値hは、作成されたサーフェス オブジェクトへのグラフィックス ハンドルです。

プログラミング ノート: プロパティの完全なリストは、 Surface Propertiesに記載されています。

See also: surf, mesh, patch, line.

: light ()

: light (…, "prop", val, …)

: light (hax, …)

: h = light (…)

現在の軸または軸haxにライト オブジェクトを作成します。

軸オブジェクトにライト オブジェクトが存在し、 または オブジェクトの プロパティまたは が 以外の値に設定されている場合 、 これら"EdgeLighting"のオブジェクトは照明効果を使用して描画されます。照明プロパティでサポートされている値は、 (照明効果なし)、(オブジェクトのファセット ルック)、および(頂点間の照明効果の線形補間) です。照明モードが に設定されている場合 、プロパティが照明に使用されます。 の場合、プロパティが使用されます。 "FaceLighting"patchsurface"none""none""flat""gouraud""flat""FaceNormals""gouraud""VertexNormals"

軸ごとに最大 8 つのライト オブジェクトがサポートされます。(実装に依存)

"fltk" ライティングは OpenGL グラフィック ツールキット (つまり、および"qt") でのみサポートされます。

ライト オブジェクトには、プロットの外観を変更する次のプロパティがあります。

ライト オブジェクトには、プロットの外観を変更する次のプロパティがあります。

"Color":RGB ベクトル (例:[1 0 0]赤) または文字列 (例:"r" 赤)。デフォルトの色は白 ( [1 1 1]) です。

"Position":光が放射される方向は
1x3 ベクトル。デフォルトの方向は です[1 0 1]。

"Style":この文字列は、光がどこから発せられるかを定義します。
無限遠の光源("infinite")または局所的な点光源("local")からの光源。デフォルトは です"infinite"。

最初の引数hax が軸ハンドルである場合は、 によって返される現在の軸ではなく、この軸にライト オブジェクトを追加しますgca。

オプションの戻り値hは、作成されたライト オブジェクトへのグラフィックス ハンドルです。

プログラミング ノート: プロパティの完全なリストは、 Light Propertiesに記載されています。

See also: lighting, material, patch, surface.