Main Content

fill

塗りつぶされた 2 次元パッチの作成

  • Green star on a Cartesian plot

説明

fill(X,Y,C) は、塗りつぶされた多角形領域をパッチとしてプロットします。頂点の位置 (x,y) は XY で指定します。

  • 1 つの領域をプロットするには、XY をベクトルとして指定します。

  • 複数の領域をプロットするには、XY を、各列が 1 つの多角形に対応する行列として指定します。

C は領域の塗りつぶし色を決定します。

fill(X1,Y1,C1,...,Xn,Yn,Cn) は、複数の塗りつぶされた 2 次元の多角形領域を同じ座標軸上にプロットします。

fill(___,Name,Value) は、1 つ以上の名前と値の引数を使用してプロパティを設定し、パッチを変更します。パッチは、前述の構文にある任意の入力引数の組み合わせを使用して指定できます。たとえば、fill(X,Y,C,'LineWidth',2) は、すべてのパッチの周囲に 2 ポイントの境界線を指定します。プロパティの一覧については、Patch のプロパティを参照してください。

fill(ax,___) は、現在の座標軸 (gca) ではなく、ax で指定した座標軸に多角形領域をプロットします。引数 ax は、前述の構文における任意の入力引数の組み合わせの前に指定できます。

p = fill(___) は、Patch オブジェクト、または Patch オブジェクトのベクトルを返します。領域をプロットした後にプロパティのクエリと変更を行うには、p を使用します。プロパティの一覧については、Patch のプロパティを参照してください。

すべて折りたたむ

五角形の頂点の (x,y) 座標をベクトル x および y として定義します。次に、指定した塗りつぶし色 (赤) でその五角形をプロットします。

x = [0 4 5 2 1];
y = [0 0 2 4 3];
fill(x,y,'r')

Figure contains an axes object. The axes object contains an object of type patch.

正方形の x 座標と y 座標のベクトルを作成します。カラーマップ インデックスの列ベクトルを指定します。各行は正方形の各頂点に対応します。関数 fill は、周囲の頂点を使用して、既定のカラーマップから残りの塗りつぶし色を内挿します。

x = [0 2 2 0];
y = [0 0 2 2];
c = [1; 0.5; 0; 0.75];
fill(x,y,c)

Figure contains an axes object. The axes object contains an object of type patch.

行列 x および y を、2 つの三角形の頂点の (x,y) 座標として定義します。各列は三角形のいずれかに対応します。cx および y と同じ次元の行列として指定します。c の各値は、対応する頂点のカラーマップ インデックスを指定します。

x = [0 2; 0 2; 4 4];
y = [2 0; 4 1; 2 0];
c = [1 0; 1 0; 0.3 0];
fill(x,y,c)

Figure contains an axes object. The axes object contains 2 objects of type patch.

六角形の頂点の (x,y) 座標をベクトル x および y として指定します。これらの座標を六角形としてプロットします。次に、この六角形の追加の 2 つの平行移動を同じ座標軸にプロットし、部分的に重なる六角形を 3 つ作成します。各六角形の FaceAlpha プロパティを、1 より小さな値として指定し、半透明の六角形をプロットします。

x = [1 3 4 3 1 0];
y = [0 0 2 4 4 2];
hold on
fill(x,y,'cyan','FaceAlpha',0.3)
fill(x+2,y,'magenta','FaceAlpha',0.3)
fill(x+1,y+2,'yellow','FaceAlpha',0.3)

Figure contains an axes object. The axes object contains 3 objects of type patch.

(x,y) 座標のベクトル x および y と、RGB 3 成分 c を指定して、塗りつぶされた八角形をプロットします。この結果生成されるパッチを p として保存します。

t = (1/16:1/8:1)'*2*pi;
x = cos(t);
y = sin(t);
c = [0.8 0.7 0.8];
p = fill(x,y,c);

Figure contains an axes object. The axes object contains an object of type patch.

プロットされた八角形のプロパティを変更するには、p を使用します。LineWidth プロパティを 3 に設定して外枠を太くし、EdgeColor プロパティを変更して外枠の色をカスタム RGB 3 成分に変更します。

p.LineWidth = 3;
p.EdgeColor = [0.5 0.2 0.55];

Figure contains an axes object. The axes object contains an object of type patch.

入力引数

すべて折りたたむ

パッチの頂点の x 座標。ベクトルまたは行列として指定します。

パッチ数説明

1 つのパッチ

XY を同じ長さのベクトルとして指定します。これらのベクトルは任意の向きにできます。

1 つの三角形パッチをプロットします。

X = [0 0 4];
Y = [2 4 2];
C = 1;
fill(X,Y,C)

複数のパッチ
(共有している X または Y)

共有している座標をベクトルとして指定します。その他の座標は行列として指定します。ベクトルの長さは行列の次元の 1 つの長さと一致していなければなりません。行列が正方の場合、MATLAB® は行列の列をベクトルに対してプロットします。

共有している x 座標を使用して 2 つの三角形パッチをプロットします。

X = [0 0 4];
Y = [0 -0; 2 -2; 0 0];
C = [0 1];
fill(X,Y,C)

複数のパッチ
(XY が一意)

XY を、同じサイズの行列として指定します。MATLAB はこれらの行列の対応する列をプロットします。

一意の x 座標および y 座標を使用して 2 つの三角形パッチをプロットします。

X = [0 5; 0 5; 4 9];
Y = [2 0; 4 2; 2 0];
C = [0 1];
fill(X,Y,C)

データで閉じた領域が定義されていない場合、fill によって領域が閉じられます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

パッチの頂点の y 座標。ベクトルまたは行列として指定します。

パッチ数説明

1 つのパッチ

XY を同じ長さのベクトルとして指定します。これらのベクトルは任意の向きにできます。

1 つの三角形パッチをプロットします。

X = [0 0 4];
Y = [2 4 2];
C = 1;
fill(X,Y,C)

複数のパッチ
(共有している X または Y)

共有している座標をベクトルとして指定します。その他の座標は行列として指定します。ベクトルの長さは行列の次元の 1 つの長さと一致していなければなりません。行列が正方の場合、MATLAB は行列の列をベクトルに対してプロットします。

共有している x 座標を使用して 2 つの三角形パッチをプロットします。

X = [0 0 4];
Y = [0 -0; 2 -2; 0 0];
C = [0 1];
fill(X,Y,C)

複数のパッチ
(XY が一意)

XY を、同じサイズの行列として指定します。MATLAB はこれらの行列の対応する列をプロットします。

一意の x 座標および y 座標を使用して 2 つの三角形パッチをプロットします。

X = [0 5; 0 5; 4 9];
Y = [2 0; 4 2; 2 0];
C = [0 1];
fill(X,Y,C)

データで閉じた領域が定義されていない場合、fill によって領域が閉じられます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

パッチの色。色名、RGB 3 成分、カラーマップ インデックスのベクトル、またはカラーマップ インデックスの行列として指定します。

  • 色名 — 'red' のような色名、または 'r' のような省略名。

  • RGB 3 成分 — 色の赤、緑、青成分の強度を指定する 3 要素の行ベクトル。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。RGB 3 成分は、カスタム色を作成するのに役立ちます。

  • カラーマップ インデックスのベクトル — 領域ごとに 1 つの要素をもつ、数値のベクトル。

  • カラーマップ インデックスの行列 — X および Y と同じ次元をもつ、数値の行列。

色を指定する方法は、配色や、プロットする多角形領域が 1 つであるか複数であるかによって異なります。次の表では、最も一般的な状況について説明します。

配色色の指定方法
すべての領域に単色を適用

次の表のいずれかの色名または省略名を指定するか、1 つの RGB 3 成分を指定します。

行列 xy を作成します。次に、赤で塗りつぶされた領域をプロットします。

x = [2 0; 2 0; 4 4];
y = [0 2; 1 4; 0 2];
fill(x,y,'r')

Cartesian plot with two red triangles

領域ごとに 1 つの色

カラーマップ インデックスの n 行 1 列または 1 行 n 列のベクトルを指定します。ここで、n は多角形領域の数です。

行列 xy、およびベクトル c を作成します。次に、指定したカラーマップの色で塗りつぶされた領域をプロットします。

x = [2 0; 2 0; 4 4];
y = [0 2; 1 4; 0 2];
c = [1; 0];
fill(x,y,c)

Cartesian plot with one yellow and one blue triangle

面の色の内挿

m 行 n 列のカラーマップ インデックスの行列を指定します。ここで、[m,n] = size(X) です。頂点ごとに 1 つの色を指定します。

行列 xyc を作成します。次に、頂点の色 c から内挿された塗りつぶし色で塗りつぶされた領域をプロットします。

x = [2 0; 2 0; 4 4];
y = [0 2; 1 4; 0 2];
c = [0.5 1; 0 1; 1 0];
fill(x,y,c)

Cartesian plot with two triangles filled with a yellow, green, and blue gradient

一般的な色の色名と RGB 3 成分

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、関数 fill は現在の座標軸にプロットします。ただし、Axes オブジェクトが存在しない場合は作成します。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: fill(x,y,c,'FaceAlpha',.5,'LineStyle',':') は、点線のエッジをもつ半透明の多角形を作成します。

メモ

ここでは、パッチ プロパティの一部だけを紹介しています。完全な一覧については、Patch のプロパティ を参照してください。

面の色。'interp''flat' RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。

各面に異なる色を作成するには、面ごとに 1 つの色または頂点ごとに 1 つの色を含む配列として CData または FaceVertexCData プロパティを指定します。色は面ごとに周囲の頂点の色から内挿することも、一様にすることもできます。内挿された色の場合、このプロパティを 'interp' として指定します。一様な色の場合、このプロパティを 'flat' として指定します。頂点ごとに 'flat' と異なる色を指定すると、指定する最初の頂点の色によって面の色が決まります。

すべての面に単色を指定するには、このプロパティを RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

面の透明度。次の値のいずれかとして指定します。

  • 範囲 [0,1] のスカラー — すべての面に一様な透明度を使用します。値 1 は完全に不透明で、値 0 は完全に透明です。このオプションは FaceVertexAlphaData プロパティの透明度値を使用しません。

  • 'flat'FaceVertexAlphaData プロパティの値に基づいて面ごとに異なる透明度を使用します。まず、FaceVertexAlphaData プロパティを、面または頂点ごとに 1 つの透明度値を含むベクトルとして指定しなければなりません。面全体の透明度は、最初の頂点の透明度値によって決まります。

  • 'interp'FaceVertexAlphaData プロパティの値に基づいて面ごとに内挿された透明度を使用します。まず、FaceVertexAlphaData プロパティを、頂点ごとに 1 つの透明度値を含むベクトルとして指定しなければなりません。頂点の値を内挿することにより、各面に異なる透明度が使用されます。

エッジの色。次の表のいずれかの値として指定します。エッジの既定色は黒で、[0 0 0] の値で指定されます。複数の多角形で共有されるエッジの場合、その表示色は最初に描画された多角形によって決まります。

説明結果

RGB 3 成分、16 進数カラー コード、色名

すべてのエッジに 1 つの色を使用します。詳細については、次の表を参照してください。

Rectangular patch with red edges

'flat'

エッジごとに異なる色を使用します。エッジの色を設定するには、その前の頂点の色を指定します。まず、頂点ごとに 1 つの色を含む配列として CData または FaceVertexCData を指定しなければなりません。エッジの色は、頂点を指定した順序によって決まります。

Rectangular patch with a medium green upper-right vertex, a medium green top edge, a yellow upper-left vertex, a yellow left edge, a dark blue lower-left vertex, a dark blue lower edge, a light blue lower-right vertex, and a light blue right edge

'interp'

内挿されたエッジの色。まず、頂点ごとに 1 つの色を含む配列として CData または FaceVertexCData を指定しなければなりません。エッジの色を指定するには、2 つの境界頂点の値を線形内挿します。

Rectangular patch with interpolated edge colors. The top two vertices are medium green and yellow, respectively. The bottom two vertices are dark blue and light blue, respectively. The color of each edge is a gradient of the colors at the bounding vertices.

'none'エッジは表示されません。

エッジは表示されません。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。

ライン スタイル説明結果として得られる線
"-"実線

Sample of solid line

"--"破線

Sample of dashed line

":"点線

Sample of dotted line

"-."一点鎖線

Sample of dash-dotted line, with alternating dashes and dots

"none"ラインなしラインなし

出力引数

すべて折りたたむ

表示される多角形領域。Patch オブジェクトまたは Patch オブジェクトのベクトルとして返されます。各パッチはプロットされる 1 つの領域に対応します。領域をプロットした後でプロパティのクエリや変更を行うには、p を使用します。

代替機能

一部の関数では、fill のすべての機能や、多角形のプロット、操作、クエリのための追加オプションを使用できます。適切な場合は、fill の代わりに次の関数を使用します。

  • 正多角形を作成するには、nsidedpoly を使用します。この関数を使用すると正多角形の作成が単純化され、プロットされる多角形の位置と次元を管理するための追加オプションを使用できるようになります。

    nsidedpolypolyshape オブジェクトを作成します。また、polyshape の作成後に位置、半径、辺の長さを変更するための追加オプションを使用できます。nsidedpoly により作成された polyshape は、polyshape のすべてのプロパティ、および nsidedpoly 限定のプロパティを使用して操作できます。

  • 非正多角形を作成するには、polyshape を使用します。この関数では、多角形を定義するための追加オプションを使用できます。

    polyshapepolyshape オブジェクトを作成します。このオブジェクトには、多角形の作成後にクエリと変更を行うための追加プロパティとオブジェクト関数があります。完全な一覧については、polyshapeを参照してください。

  • Patch オブジェクトを fill と同様に作成するには patch を使用します。この関数では、面と頂点のデータにより 2 次元および 3 次元のパッチを定義するための追加オプションを使用できます。

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する