15.2.3 Plot Annotations

Last-modified: 2025-03-16 (日) 20:01:27

15.2.3 プロット注釈

既存のプロットにタイトル、軸ラベル、凡例、任意のテキストを追加できます。例:

x = -10:0.1:10;
plot (x, sin (x));
title ("sin(x) for x = -10:0.1:10");
xlabel ("x");
ylabel ("sin (x)");
text (pi, 0.7, "arbitrary text");
legend ("sin (x)");

関数gridとをbox使用して、プロットにグリッド線と境界線を追加することもできます。デフォルトでは、グリッドはオフで、境界線はオンになっています。

最後に、関数を使用して、矢印、テキスト、長方形または楕円形のボックスを追加し、プロットの一部を強調表示できますannotation。これらのオブジェクトは、他のすべての軸の上にある非表示の軸に描画されます。

: title (string)
: title (string, prop, val, …)
: title (hax, …)
: h = title (…)
現在の軸のタイトルとして使用される文字列を指定します。

オプションのプロパティ/値のペアのリストを使用して、作成されたタイトル テキスト オブジェクトの外観を変更できます。

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

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

See also: xlabel, ylabel, zlabel, text.

: legend ()
: legend command
: legend (str1, str2, …)
: legend (charmat)
: legend ({cellstr})
: legend (…, property, value, …)
: legend (hobjs, …)
: legend ("command")
: legend (hax, …)
: legend (hleg, …)
: hleg = legend (…)
指定された文字列をラベルとして使用して、現在の軸の凡例を表示します。

凡例エントリは、個別の文字列引数、文字配列、または文字列のセル配列として指定できます。ラベル名が凡例プロパティまたはコマンド引数と混同される可能性がある場合は、ラベルを文字列のセル配列として指定して保護する必要があります。

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

最初の引数hlegが凡例ハンドルの場合、現在の軸の凡例ではなく、この凡例に対して操作を行います。

凡例ラベルは軸の子に関連付けられます。最初のラベルは軸にプロットされた最初のオブジェクトに割り当てられ、2 番目のラベルは次にプロットされたオブジェクトに割り当てられます。すべてのオブジェクトにラベルを付けずに特定のデータ オブジェクトにラベルを付けるには、入力 hobjsにグラフィック ハンドルを指定します。

コマンドを使用すると、次のカスタマイズが可能です。

"show"
プロットに凡例を表示する

"hide"
プロット上の凡例を非表示にする

"toggle"
"hide"とを切り替える"show"

"boxon"
凡例の周囲にボックスを表示する (デフォルト)

"boxoff"
凡例の周りのボックスを非表示にする

"right"
ラベルテキストをキーの右側に配置する(デフォルト)

"left"
ラベルテキストをキーの左側に配置する

"off"
凡例オブジェクトを削除する

この関数は、 /legendで操作できるさまざまなプロパティを持つグラフィックス オブジェクトを作成します。または、プロパティと値のペアを含めることで、呼び出し時にプロパティを直接設定することもできます。この呼び出し形式を使用する場合は、ラベルを文字列のセル配列として指定する必要があります。グラフィックス オブジェクトのプロパティについては、グラフィックス オブジェクトのプロパティで詳しく説明されています。 getsetlegend

サポートされている凡例プロパティのサブセットを次に示します。

autoupdate: "off" | {"on"}
ピア軸にオブジェクトが追加された (またはピア軸から削除された) ときに凡例項目の数を自動的に更新するかどうかを制御します。例:

## Create a single plot with its legend.
figure ();
plot (1:10);
legend ("Slope 1");
## Add another plot and specify its displayname so that
## the legend is correctly updated.
hold on;
plot ((1:10) * 2, "displayname", "Slope 2");
## Stop automatic updates for further plots.
legend ("autoupdate", "off");
plot ((1:10) * 3);

box: "off" | {"on"}
凡例を囲むボックスがあるかどうかを制御します。

location: "best" | "bestoutside" |
"east" | "eastoutside" | "none" | "north" | {"northeast"} | "northeastoutside" | "northoutside" | "northwest"| "northwestoutside" | "south" | "southeast" | "southeastoutside" | "southoutside" | "southwest" | "southwestoutside" | "west" | "westoutside" Control the location of the legend.

numcolumns: スカラー整数、定義。1
凡例項目のレイアウトで使用する列の数を制御します。例:

figure ();
plot (rand (30));
legend ("numcolumns", 3);

を設定すると、プロパティnumcolumnsも に強制的numcolumnsmodeに設定されます"manual"。

orientation: "horizontal" | {"vertical"}
凡例項目を垂直方向 (列方向) に配置するか、水平方向 (行方向) に配置するかを制御します。

string: string | cell array of strings
凡例項目のラベルのリスト。例:

figure ();
plot (rand (20));
## Let legend choose names automatically
hl = legend ();
## Selectively change some names
str = get (hl, "string");
str(1:5:end) = "Garbage";
set (hl, "string", str);

textcolor: colorspec, def. [0 0 0]
凡例項目のテキスト文字列の色を制御します。

サポートされている凡例固有のプロパティの完全なリストについては、 「凡例のプロパティ」を参照してください。

凡例は、tag プロパティが に設定された追加の軸オブジェクトとして実装されます"legend"。凡例オブジェクトのプロパティは、 を使用して直接操作できますset。

オプションの出力値hlegは、凡例オブジェクトへのハンドルです。

実装上の注意: 凡例ラベルのテキストは、 の呼び出しで提供される legendか、グラフィックス オブジェクトのプロパティから取得されますDisplayName。線、パッチ、サーフェスなどのデータ オブジェクトにのみこのプロパティがあり、軸、図などはないため凡例に表示されることはありません。ラベルやDisplayNameプロパティが利用できない場合は、ラベル テキストは単に"data1"、、"data2"…、 となります"dataN"。

凡例FontSizeプロパティは、最初はそれが接続されている軸の 90% に設定されています FontSize。set必要に応じてこれを無効にするために使用します。

: text (x, y, string)
: text (x, y, z, string)
: text (…, prop, val, …)
: text (hax, …)
: h = text (…)
現在の軸上の 位置x、y、 ( z ) にテキスト文字列を含むテキスト オブジェクトを作成します。

x、y、 ( z ) がベクトルの場合、複数の場所を指定できます。文字行列または文字列のセル配列を使用して、複数の文字列を指定できます。

オプションのプロパティ/値のペアを使用して、テキストの外観を制御できます。

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

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

例 1: 3 つの異なる方法による複数行テキスト

text (0.5, 0.8, {"Line 1", "Line 2"})
text (0.5, 0.6, ["Line 1"; "Line 2"])
text (0.5, 0.4, "Line 1\nLine 2")

例 2: 複数の場所にあるテキスト

text ([0.2, 0.2], [0.8, 0.6], "Same text at two locations")
text ([0.4, 0.4], [0.8, 0.6], {"Point 1 Text", "Point 2 text"})
text ([0.6, 0.6], [0.8, 0.6], {{"Point 1 Line 1", "Point 1 Line 2},
                              "Point 2 text"})

例2: テキストプロパティを使用して外観を調整する

ht = text (0.5, 0.5, "Hello World", "fontsize", 20);
set (ht, "color", "red");

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

セル配列内の数値エントリは、 を使用してテキストに変換されます sprintf ("%g")。外観をより正確に制御するには、textを呼び出す前に、、、などを使用して数値エントリを文字列に変換num2strしsprintfます。

See also: gtext, title, xlabel, ylabel, zlabel.

: xlabel (string)
: xlabel (string, property, val, …)
: xlabel (hax, …)
: h = xlabel (…)
現在の軸の x 軸にラベルを付けるために使用される文字列を指定します。

オプションのプロパティ/値のペアのリストを使用して、作成されたテキスト ラベルのプロパティを変更できます。

テキスト オブジェクトのプロパティの完全なリストについては、 「テキスト プロパティ」を参照してください。

最初の引数hax が軸ハンドルである場合、 によって返される現在の軸ではなく、この軸に対して操作を行いますgca。

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

See also: ylabel, zlabel, datetick, title, text.

: ylabel (string)
: ylabel (string, property, val, …)
: ylabel (hax, …)
: h = ylabel (…)
現在の軸の y 軸にラベルを付けるために使用される文字列を指定します。

haxが指定されている場合は、 haxによって定義された軸にラベルを付けます。

オプションのプロパティ/値のペアのリストを使用して、作成されたテキスト ラベルのプロパティを変更できます。

テキスト オブジェクトのプロパティの完全なリストについては、 「テキスト プロパティ」を参照してください。

最初の引数hax が軸ハンドルである場合、 によって返される現在の軸ではなく、この軸に対して操作を行いますgca。

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

See also: xlabel, zlabel, datetick, title, text.

: zlabel (string)
: zlabel (string, property, val, …)
: zlabel (hax, …)
: h = zlabel (…)
現在の軸の Z 軸にラベルを付けるために使用される文字列を指定します。

オプションのプロパティ/値のペアのリストを使用して、作成されたテキスト ラベルのプロパティを変更できます。

テキスト オブジェクトのプロパティの完全なリストについては、 「テキスト プロパティ」を参照してください。

最初の引数hax が軸ハンドルである場合、 によって返される現在の軸ではなく、この軸に対して操作を行いますgca。

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

See also: xlabel, ylabel, datetick, title, text.

: clabel (c, h)
: clabel (c, h, v)
: clabel (c, h, "manual")
: clabel (c)
: clabel (…, prop, val, …)
: hlabels = clabel (…)
等高線図の等高線にラベルを追加します。

等高線レベルは、、、、および によって返される等高線行列cによって指定されます。等高線ラベルは、ローカル ラインの方向に合わせて回転され、ラインの中央に配置されます。等高線に沿ったラベルの位置はランダムに選択されます。 contourcontourccontourfcontour3

引数hが等高線グループ オブジェクトへのハンドルである場合、 によって返される現在の軸のプロットではなく、このプロットにラベルを付けますgca。

デフォルトでは、すべての輪郭にラベルが付けられます。ただし、ラベルを付ける輪郭はベクトルvで指定できます。"manual"引数が指定されている場合は、ラベルを付ける輪郭をマウスで選択できます。

テキスト オブジェクトの有効なプロパティである追加のプロパティ/値のペアを指定でき、基になるテキスト オブジェクトに渡されます。さらに、"LabelSpacing"指定する輪郭上のラベル間の間隔を決定する輪郭グループ プロパティも使用できます。既定値は 144 ポイント、つまり 2 インチです。

オプションの戻り値hlabelsは、各ラベルを表すテキスト オブジェクトへのグラフィック ハンドルのベクトルです。"userdata"テキスト オブジェクトのプロパティには、輪郭ラベルの数値が含まれます。

テキスト オブジェクトのプロパティの完全なリストについては、 「テキスト プロパティ」を参照してください。

[c, h] = contour (peaks (), -4 : 6);
clabel (c, h, -4:2:6, "fontsize", 12);

See also: contour, contourf, contour3, meshc, surfc, text.

: box
: box on
: box off
: box (hax, …)
軸の境界の表示を制御します。

引数は または"on"のいずれかです"off"。省略すると、現在のボックスの状態が切り替わります。

最初の引数hax が軸ハンドルである場合、 によって返される現在の軸ではなく、この軸に対して操作を行いますgca。

See also: axis, grid.

: grid
: grid on
: grid off
: grid minor
: grid minor on
: grid minor off
: grid (hax, …)
プロット グリッド ラインの表示を制御します。

関数の状態入力は"on"または のいずれかになります"off"。省略すると、現在のグリッド状態が切り替わります。

最初の引数がの場合、"minor"後続のすべてのコマンドはメジャー グリッドではなくマイナー グリッドを変更します。

最初の引数hax が軸ハンドルである場合、 によって返される現在の軸ではなく、この軸に対して操作を行いますgca。

個々の軸のグリッド線を制御するには、set 関数を使用します。例:

set (gca, "ygrid", "on");

See also: axis, box.

: colorbar
: colorbar (…, loc)
: colorbar (delete_option)
: colorbar (hcb, …)
: colorbar (hax, …)
: colorbar (…, "peer", hax, …)
: colorbar (…, "location", loc, …)
: colorbar (…, prop, val, …)
: h = colorbar (…)
現在の軸にカラーバーを追加します。

カラーバーには、カラースケールを解釈できるように、現在のカラーマップと数値の罫線が表示されます。

オプションの入力loc はカラーバーの位置を決定します。存在する場合は、 の最後の引数でなければなりませんcolorbar。locの有効な値は次のとおりです。

"EastOutside"
カラーバーをプロットの右側の外側に配置します。これがデフォルトです。

"East"
カラーバーをプロット内の右側に配置します。

"WestOutside"
カラーバーをプロットの左側の外側に配置します。

"West"
カラーバーをプロット内の左側に配置します。

"NorthOutside"
カラーバーをプロットの上に配置します。

"North"
カラーバーをプロットの上部に配置します。

"SouthOutside"
プロットの下にカラーバーを配置します。

"South"
カラーバーをプロットの下部に配置します。

プロットからカラーバーを削除するには、delete_option に次のいずれかのキーワードを使用し ます: "off"、、"delete"。"hide"

最初の引数haxが軸ハンドルの場合、カラーバーは によって返される現在の軸ではなく、この軸に追加されますgca。 または、引数"peer"が指定されている場合は、次の引数がカラーバーを追加する軸ハンドルとして扱われます。 "peer"呼び出し構文は将来削除される可能性があり、推奨されません。

最初の引数hcb がカラーバー オブジェクトへのハンドルである場合は、このカラーバーを直接操作します。

追加のプロパティ/値のペアは、基になる axes オブジェクトに直接渡されます。プロパティの完全なリストは、 Axes Propertiesに記載されています。

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

"tag"実装上の注意: カラーバーは、プロパティが に設定された追加の軸オブジェクトとして作成されます"colorbar"。作成されたオブジェクトには、"location"カラーバーの位置を制御する追加のプロパティがあります。

See also: colormap.

: annotation (type)
: annotation ("line", x, y)
: annotation ("arrow", x, y)
: annotation ("doublearrow", x, y)
: annotation ("textarrow", x, y)
: annotation ("textbox", pos)
: annotation ("rectangle", pos)
: annotation ("ellipse", pos)
: annotation (…, prop, val)
: annotation (hf, …)
: h = annotation (…)
図の一部を強調するために注釈を描きます。

注釈の タイプのみを指定して、デフォルトの注釈を構築できます。

それ以外の場合は、注釈の種類を選択してから、線ベースの注釈の場合はxとy座標、その他の注釈の場合は位置ベクトルposを使用して位置を設定できます。どちらの場合も、座標は"units"注釈オブジェクトのプロパティを使用して解釈されます。デフォルトは で"normalized"、これは図の左下隅の座標が ' であることを意味します。[0 0]' と右上隅 '[1 1]'。

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

注釈の外観をカスタマイズするために、 prop / valペアの形式でさらに引数を提供することもできます。

オプションの戻り値hは、作成された注釈オブジェクトへのグラフィックス ハンドルです。これは、set関数とともに使用して、既存の注釈オブジェクトをカスタマイズできます。

すべての注釈オブジェクトは次の 2 つのプロパティを共有します。

"units": 座標を解釈する単位。
その値は次のいずれかになります。"centimeters"| "characters"| "inches"| "{normalized}"| "pixels"| "points"。
"position": 4 要素のベクトル [x0 y0 幅 高さ]。
ベクトルは、注釈オブジェクトの原点の座標 (x0,y0)、幅、高さを指定します。幅と高さは、オブジェクトの方向に応じて負の値になる場合があります。
有効な注釈タイプとその特定のプロパティについては、以下で説明します。

"line"
線を構築します。x とy は、線の両端の x 座標と y 座標を指定する 2 要素のベクトルである必要があります。

線は、オブジェクトの場合と同じように"linewidth"、、"linestyle"およびプロパティを使用してカスタマイズできます。 "color"line

"arrow"
矢印を作成します。ベクトルxとyの 2 番目の点は 矢印の座標を指定します。

線のプロパティに加えて、矢印は "headlength"、、"headwidth"および"headstyle" プロパティを使用してカスタマイズできます。"headstyle"プロパティでサポートされている値は次のとおりです: [ "diamond"| "ellipse"| "plain"| "rectangle"| "vback1"| "{vback2}"| "vback3"]

"doublearrow"
二重矢印を作成します。ベクトルxとy は矢印の座標を指定します。

線と矢印は矢印注釈と同様にカスタマイズできますが、一部のプロパティ名が重複しています: "head1length"/ "head2length"、 "head1width"/など。インデックス 1 は、 x座標とy"head2width"座標の最初のポイントの矢印のプロパティをマークします 。

"textarrow"
矢印の反対側の端にテキスト ラベルが付いた矢印を作成します。

プロパティを使用して"string"、テキスト文字列を変更します。線と矢印は矢印注釈と同様にカスタマイズでき、テキストはグラフィック オブジェクトと同じプロパティを使用してカスタマイズできます。 ただし、一部のテキスト プロパティ名には、 text矢印プロパティと区別するために「text」というプレフィックスが付けられていることに注意して ください : "textbackgroundcolor"、、、、、。"textcolor""textedgecolor""textlinewidth""textmargin""textrotation"

"textbox"
内部にテキストを含むボックスを構築します。pos は"position"注釈のプロパティ を指定します 。

プロパティを使用して、テキスト文字列を変更します。 、、、およびプロパティ"string"を使用して、ボックスの背景色と端の外観をカスタマイズできます。限られたオブジェクト プロパティも使用できます。 プロパティの他に、およびを使用して、 ボックス内のテキストを配置すること もできます。"backgroundcolor""edgecolor""linestyle""linewidth"text"font…""horizontalalignment""verticalalignment"

最後に、"fitboxtotext"プロパティはボックスの実際の範囲を制御します。"on"(デフォルト) ボックスの制限はテキストの範囲に適合します。

"rectangle"
四角形を構築します。pos は"position"注釈のプロパティ を指定します。

"facecolor"、、、および プロパティを使用して、四角形の背景色と端の外観をカスタマイズ "color"できます。"linestyle""linewidth"

"ellipse"
楕円を構築します。pos は"position"注釈のプロパティ を指定します。

カスタマイズについては注釈を参照してください"rectangle"。

See also: xlabel, ylabel, zlabel, title, text, gtext, legend, colorbar.