メインコンテンツ

ribbon

  • Ribbon plot

説明

ribbon(Z) は、Z の列を一定幅の 3 次元のリボンとしてプロットします。y 座標の範囲は 1 から Z の行数までです。リボンは単位区間を中心として x 軸に沿って進みます。

ribbon(Y,Z) は、Y で指定された位置に 3 次元のリボンをプロットします。

ribbon(Y,Z,width) は、リボンの幅を指定します。

ribbon(___,Name=Value) は、1 つ以上の名前と値の引数を使用してリボン プロットのプロパティを設定します。たとえば、リボンの色と透明度を指定できます。プロパティの一覧については、Surface のプロパティ を参照してください。 (R2024b 以降)

ribbon(ax,___) は、現在の座標軸 (gca) ではなく ax で指定される座標軸にプロットします。ax オプションは、前述の構文のすべての入力引数の組み合わせより前に指定できます。

s = ribbon(___) は、リボンごとに 1 つのオブジェクトを含む Surface オブジェクトのベクトルを返します。プロットのプロパティを作成後に変更するには、s を使用します。プロパティの一覧については、Surface のプロパティ を参照してください。

すべて折りたたむ

高さが増加する 5 つのリボンをもつプロットを作成します。最初に、リボンの高さに対応する要素をもつ 5 行 5 列の行列を作成します。

Z = repmat(1:5,4,1)
Z = 4×5

     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5

Z の各列が 1 つのリボンを表し、それぞれ列番号に対応する一定の "x" 座標の位置に Z の行番号に対応する "y" 座標を使用してプロットされます。

ribbon(Z)

Figure contains an axes object. The axes object contains 5 objects of type surface.

関数 magic を使用して 5 行 5 列の行列を作成します。

Z = magic(5)
Z = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

行列のリボン プロットを作成し、各リボンの中心が 0 になるように "y" 座標を指定します。

Y = [-2 -1 0 1 2];
ribbon(Y,Z);

Figure contains an axes object. The axes object contains 5 objects of type surface.

3 つのリボンを "y" 軸に沿って異なる位置にプロットします。リボンの "y" 座標を、リボンの高さの行列 Z と同じサイズの行列 Y として指定します。Y の各列が 1 つのリボンに対応します。

Y = [1 2 3;
     2 3 4;
     3 4 5;
     4 5 6];
Z = Y;
ribbon(Y,Z)

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

リボン プロットを作成し、各リボンの幅を使用可能な間隔全体の 30% に設定します。

Z = magic(5);
Y = [-2 -1 0 1 2];
ribbon(Y,Z,0.3)

Figure contains an axes object. The axes object contains 5 objects of type surface.

リボン プロットを作成し、出力引数を指定します。出力は 5 つの Surface オブジェクトのベクトルで、各オブジェクトが 1 つのリボンに対応します。

Z = magic(5);
Y = [-2 -1 0 1 2];
s = ribbon(Y,Z)

Figure contains an axes object. The axes object contains 5 objects of type surface.

s = 
  5×1 Surface array:

  Surface
  Surface
  Surface
  Surface
  Surface

対応する Surface オブジェクトの EdgeColor プロパティと LineWidth プロパティを変更して 1 つ目のリボンを強調表示します。

s(1).EdgeColor = "yellow";
s(1).LineWidth = 3;

Figure contains an axes object. The axes object contains 5 objects of type surface.

30 個のリボンとカラー バーをもつリボン プロットを作成します。

t = linspace(0,2*pi,30);
x = sin(t)';
y = cos(t);
ribbon(x*y)
cbar = colorbar;
cbar.Label.String= "Ribbon Number";

Figure contains an axes object. The axes object contains 30 objects of type surface.

関数 colormap を使用してリボンの色を変更します。ribbon は、リボンの "x" 座標をカラーマップの色に線形にマッピングします。

colormap(turbo)

Figure contains an axes object. The axes object contains 30 objects of type surface.

入力引数

すべて折りたたむ

リボンの高さを表す z 座標。数値ベクトルまたは数値行列として指定します。

  • Z がベクトルの場合、Z が行ベクトルか列ベクトルかに関係なく、ribbon は単一のリボンを作成します。

  • Z が行列の場合、ribbon は列ごとに 1 つのリボンを作成します。リボンは単位区間を中心として x 軸に沿って進みます。x 座標の範囲は 1 から Z の列数までです。

y 座標。数値ベクトルまたは数値行列として指定します。Y の可能なサイズは Z のサイズで決まります。

  • Z がベクトルの場合、YZ と同じサイズのベクトルでなければなりません。ribbon は、YZ のデータを使用して X = 1 の位置に単一のリボンをプロットします。

  • Z が行列の場合、YZ の行数と等しい長さの行ベクトルまたは列ベクトルか、Z と同じサイズの行列にすることができます。ribbon は、YZ のデータを使用して Z の各列のリボンをプロットします。Y がベクトルの場合、各リボンで y 座標が同じになります。

リボンの幅。各リボンに使用可能な間隔全体に対する割合を表す数値スカラーとして指定します。

  • width < 1 の場合、リボンは割り当てられた間隔のうちのその割合を占めます。

  • width = 1 の場合、リボン同士が z 軸に沿って隙間なく表示されます。

  • width > 1 の場合、リボンは重なり、交差することがあります。

たとえば、既定値の 0.75 は、リボンの幅がリボンに使用可能な間隔全体の 75% で、両側に 12.5% ずつ空白があることを意味します。

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、MATLAB® は現在の座標軸にプロットするか、存在しない場合は Axes オブジェクトを作成します。

名前と値の引数

すべて折りたたむ

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

例: ribbon([1 2 3; 1 2 3],FaceColor="red") は赤色のリボン プロットを作成します。

メモ

ここには一部のプロパティのみを示します。完全な一覧については、Surface のプロパティ を参照してください。

面の色。次の表のいずれかの値として指定します。

説明
'flat'

CData プロパティの値に基づいて面ごとに異なる色を使用します。まず、CData プロパティを ZData と同じサイズの行列として指定しなければなりません。各面の最初の頂点 (正の x 方向と y 方向) のカラー値が、面全体の色を決定します。この値は FaceAlpha プロパティが 'interp' に設定されている場合は使用できません。

Sample of a surface with each face a different color based on sample values in the CData property

'interp'

CData プロパティの値に基づいて、面ごとに内挿によるカラーリングを使用します。まず、CData プロパティを ZData と同じサイズの行列として指定しなければなりません。頂点のカラー値を内挿することにより、各面の端から端へと色が変化します。この値は FaceAlpha プロパティが 'flat' に設定されている場合は使用できません。

Sample of a surface with each face showing different interpolated coloring based on sample values in the CData property

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

指定した色をすべての面で使用します。このオプションは CData プロパティのカラー値を使用しません。

Sample of a surface with all faces shown in red

'texturemap'CData のカラー データを表面に適合するように変換します。
'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

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

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

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

  • 'flat'AlphaData プロパティの値に基づいて面ごとに異なる透明度を使用します。面全体の透明度は、最初の頂点の透明度値によって決まります。まず AlphaData プロパティを ZData プロパティと同じサイズの行列として指定しなければなりません。FaceColor プロパティも、'flat' に設定しなければなりません。

  • 'interp'AlphaData プロパティの値に基づいて面ごとに内挿された透明度を使用します。頂点の値を内挿することにより、各面に異なる透明度が使用されます。まず AlphaData プロパティを ZData プロパティと同じサイズの行列として指定しなければなりません。FaceColor プロパティも、'interp' に設定しなければなりません。

  • 'texturemap'AlphaData のデータを表面に適合するように変換します。

エッジのラインの色。次のいずれかの値として指定します。既定の色は [0 0 0] で、これは黒色のエッジに対応します。

説明
'none'エッジを描画しません。
'flat'

CData プロパティの値に基づいてエッジごとに異なる色を使用します。まず、CData プロパティを ZData と同じサイズの行列として指定しなければなりません。各面の最初の頂点 (正の x 方向と y 方向) のカラー値が、隣接するエッジの色を決定します。この値は EdgeAlpha プロパティが 'interp' に設定されている場合は使用できません。

Sample of a surface with each edge a different color based on sample values in the CData property

'interp'

CData プロパティの値に基づいて、エッジごとに内挿によるカラーリングを使用します。まず、CData プロパティを ZData と同じサイズの行列として指定しなければなりません。頂点でのカラー値を線形内挿することにより、各エッジの端から端に向かって色が変化します。この値は EdgeAlpha プロパティが 'flat' に設定されている場合は使用できません。

Sample of a surface with each edge showing different interpolated coloring based on sample values in the CData property

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

指定した色をすべてのエッジに使用します。このオプションは CData プロパティのカラー値を使用しません。

Sample of a surface with all edges shown in red

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

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

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

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

  • 'flat'AlphaData プロパティの値に基づいてエッジごとに異なる透明度を使用します。まず AlphaData プロパティを ZData プロパティと同じサイズの行列として指定しなければなりません。エッジ全体の透明度は、最初の頂点の透明度値によって決まります。EdgeColor プロパティも、'flat' に設定しなければなりません。

  • 'interp'AlphaData プロパティの値に基づいて、エッジごとに内挿した透明度を使用します。まず AlphaData プロパティを ZData プロパティと同じサイズの行列として指定しなければなりません。頂点の値を内挿することにより、各エッジに一様でない透明度が使用されます。EdgeColor プロパティも、'interp' に設定しなければなりません。

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入

すべて展開する