Main Content

bar3h

  • Horizontal 3-D bar graph

説明

bar3h(y) は、y の要素の 3 次元横棒グラフを作成します。各バーは y の要素に対応しています。

  • バーの単一の系列をプロットするには、y をベクトルとして指定します。長さが m のベクトルについて、この関数は 1 から m までの範囲の z 軸上にバーをプロットします。

  • バーの複数の系列をプロットするには、y を各列が各系列に対応する行列として指定します。m 行 n 列の行列について、この関数は 1 から n までの範囲の x 軸上、および 1 から m までの範囲の z 軸上にバーをプロットします。

bar3h(z,y) は、z で指定された z 値における y の要素の横棒グラフを作成します。

bar3h(___,width) は、x 軸および z 軸に沿ってバーの幅を設定し、グループ内におけるバーの間隔を制御します。既定では width0.8 で、バー同士がわずかに離れています。width1 の場合、グループ内のバーの間に隙間はありません。前述の構文にある任意の入力引数の組み合わせに加えて、width を指定します。

bar3h(___,style) は、バーのスタイルを指定します。ここで style には "detached""grouped" または "stacked" を指定できます。既定のスタイルは "detached" です。

bar3h(___,color) は、color で指定した色を使用しているすべてのバーを表示します。たとえば、"r" を使用すると、すべての赤色のバーが指定されます。

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

h = bar3h(___) は、1 つ以上の Surface オブジェクトを返します。y がベクトルの場合、bar3h は 1 つの Surface オブジェクトを作成します。y が行列の場合、bar3h は系列ごとに 1 つの Surface オブジェクトを返します。棒グラフを表示後、h を使用してバーのプロパティを設定します。プロパティの一覧については、Surface のプロパティ を参照してください。

すべて折りたたむ

y を 5 つの値のベクトルとして指定します。これらの値を 3 次元横棒グラフの系列としてプロットします。各バーの高さは y の値に対応し、z 軸上の位置はその値のインデックスに対応します。

y = [50 40 30 20 10];
bar3h(y);

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

y を行列として指定します。y の 3 次元横棒グラフを作成します。各系列は y の列に対応します。

y = [1 4 7; 2 5 8; 3 6 9; 4 7 10];
bar3h(y)

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

zy のバーに対する z 軸上の位置のベクトルとして指定します。指定した z 軸上の位置にバーをプロットします。

z = [1950 1960 1970 1980 1990];
y = [16 8 4 2 1];
bar3h(z,y)

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

y を 4 つの系列をもつ行列として指定します。'grouped' スタイルを使用してグループ化された行ごとのデータで y をプロットします。同じグループのバーの間にあるスペースを削除するには、width1 に設定します。

y = [70 50 33 10; 75 55 35 15; 80 60 40 20];
bar3h(y,1,'grouped')

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

0 から π の範囲の z 座標のセットを作成します。z 値の正弦関数を 3 次元横棒グラフとしてプロットします。色指定 "r" を使用して、バーを赤色にします。

z = 0:pi/16:pi;
y = [sin(z')/4 sin(z')/2 sin(z')];
bar3h(z,y,1,"r")

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

データ行列 y をバー スタイル "stacked" とバー幅 0.5 を使用してプロットします。返された Surface オブジェクトを h に保存します。この場合、h には 4 つの要素があり、それぞれが y の各列に対応します。

bar3h は既定のカラーマップに基づいて各系列の色を設定します。

y = [19 30 21 30; 40 16 32 12];
h = bar3h(y,0.5,"stacked");

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

各系列の色をカスタマイズするには、h で対応するオブジェクトの FaceColor を設定します。

h(1).FaceColor = "k";
h(2).FaceColor = "white";
h(3).FaceColor = [.5 .7 .8];
h(4).FaceColor = [.9 .7 .8];

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

R2019b 以降

関数 tiledlayout および関数 nexttile を使用して、プロットをタイル表示できます。関数 tiledlayout を呼び出して、1 行 2 列のタイル表示チャート レイアウトを作成します。関数 nexttile を呼び出して、axes オブジェクト ax1 および ax2 を作成します。axes オブジェクトを bar3h の最初の引数として指定することで、座標軸に個別の離散データ プロットを作成します。

積み上げ型の 3 次元横棒グラフを左の座標軸に表示します。右の座標軸には、同じデータのグループ化された横棒グラフを表示します。

tiledlayout(1,2)
y = [64 56 48; 49 42 35; 36 30 24];

% Left bar graph
ax1 = nexttile;
bar3h(ax1,y,0.5,"stacked")

% Right bar graph
ax2 = nexttile;
bar3h(ax2,y,1,"grouped")

Figure contains 2 axes objects. Axes object 1 contains 3 objects of type surface. Axes object 2 contains 3 objects of type surface.

入力引数

すべて折りたたむ

y 座標。ベクトルまたは行列として指定します。y の各次元は、この関数がデータをどのように表示するかを決定します。次の表では、最も一般的な状況について説明します。

表示yz の指定方法結果
1 系列のバーを表示。
  • yz を同じ長さのベクトルとして指定します。z の値は一意でなければなりませんが、y の値が一意である必要はありません。

  • あるいは、y 値のみを指定します。

ベクトル y および z を定義して、3 次元横棒グラフを作成します。

z = [1 2 3 4];
y = [10 20 30 40];
bar3h(z,y)

あるいは、y 値のみを指定します。

bar3h(y)

Plot with four horizontal 3-D bars

x 軸に沿って複数の系列のバーを表示。
  • z をベクトル、y を行列として指定します。z の要素数は y の行数と一致しなければなりません。

  • あるいは、行列 y のみを指定します。

ベクトル z と行列 y を定義して、3 系列のバーをもつ 3 次元横棒グラフを作成します。

z = [1 2 3 4];
y = [1 5 9;
     2 6 10; 
     3 7 11;
     4 8 12];
bar3h(z,y)

あるいは、y 値のみを指定します。

bar3h(y)

Plot with three series of four horizontal 3-D bars

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

z 座標。ベクトルとして指定します。z の値を順番にする必要はありませんが、z のサイズは、y のサイズとデータの表示方法によって異なります。次の表では、最も一般的な状況について説明します。

表示yz の指定方法結果
1 系列のバーを表示。
  • yz を同じ長さのベクトルとして指定します。z の値は一意でなければなりませんが、y の値が一意である必要はありません。

  • あるいは、y 値のみを指定します。

ベクトル z および y を定義して、3 次元横棒グラフを作成します。

z = [1 2 3 4];
y = [10 20 30 40];
bar3h(z,y)

あるいは、y 値のみを指定します。

bar3h(y)

Plot with four horizontal 3-D bars

x 軸に沿って複数の系列のバーを表示。
  • z をベクトル、y を行列として指定します。z の要素数は y の行数と一致しなければなりません。

  • あるいは、行列 y のみを指定します。

ベクトル z と行列 y を定義して、3 系列のバーをもつ 3 次元横棒グラフを作成します。

z = [1 2 3 4];
y = [1 5 9;
     2 6 10; 
     3 7 11;
     4 8 12];
bar3h(z,y)

あるいは、y 値のみを指定します。

bar3h(y)

Plot with three series of four horizontal 3-D bars

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

バーの幅。各バーに使用可能な間隔全体に対する割合を表すスカラーとして指定します。既定値の 0.8 は、バー幅が前のバーと次のバーの間隔の 80% で、その間隔の 10% ずつがバーの両側にあることを示します。幅が 1 の場合、グループ内のバーの間に隙間はありません。

例: bar3h([1 2 3],0.5) は、使用可能な間隔の 50% を使用するバーを作成します。

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

グループのスタイル。"detached""grouped" または "stacked" として指定します。グループのスタイルは、複数のバーの系列を互いに対してどのように表示するかを決定します。y がベクトルの場合、スタイルはグラフの外観に影響しません。

次の表に、グループのスタイルの各オプションの結果を示します。

グループのスタイル結果

"detached"

各バーを、対応する x および z 値の位置に表示します。

Horizontal 3-D bars evenly spaced on xz-plane

"grouped"

各グループを、対応する z 値を中心とした隣接するバーとして表示します。

Horizontal 3-D bars spaced into three distinct groups

"stacked"

各グループを、色分けされた 1 つのバーとして表示します。バーの長さはグループ内の要素の合計です。

Horizontal 3-D bars with vertical colored bands

バーの色。次の表のオプションのいずれかとして指定します。

色名省略名外観
'red''r'

Sample of the color red

'green''g'

Sample of the color green

'blue''b'

Sample of the color blue

'cyan' 'c'

Sample of the color cyan

'magenta''m'

Sample of the color magenta

'yellow''y'

Sample of the color yellow

'black''k'

Sample of the color black

'white''w'

Sample of the color white

axes オブジェクト。axes オブジェクトを指定しない場合、bar3h は現在の座標軸に棒グラフを作成します。

出力引数

すべて折りたたむ

表示される横棒。Surface オブジェクトのベクトルとして返されます。特定の横棒の系列を作成した後にその系列のプロパティにアクセスして変更するには、h の要素を使用します。返される Surface オブジェクトの数は、y のサイズによって異なります。y がベクトルの場合、h は 1 つの Surface オブジェクトです。y が行列の場合、h は、y の列ごとに 1 つの Surface オブジェクトを含むベクトルです。

詳細

すべて折りたたむ

バーの系列

バーの系列は、y の特定の列に対応するすべてのバーで構成されます。関数 bar3h は、各系列を x 軸に沿ってそれぞれ異なる位置で表示します。既定では、系列ごとに色が異なります。

次の図では、最初の系列が強調表示されています。

3-D horizontal bar graph with all bars at x=1 colored yellow

バーのグループ

グループは、特定の y 位置にあるすべてのバーで構成されます。

次の図では、3 番目のグループが強調表示されています。

Horizontal 3-D bar graph with all bars at y=3 colored yellow

ヒント

  • プロットされたバーを変更するには、返された Surface オブジェクトのプロパティを変更します。Surface プロパティの一覧については、Surface のプロパティを参照してください。

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する