最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

barh

説明

barh(y) は、y の各要素を 1 本のバーで表す横棒グラフを作成します。y が m 行 n 列の行列である場合、barh はバーが n 本のグループを m 個作成します。

barh(x,y) は、x で指定された場所に、縦軸に沿ってバーを描画します。

barh(___,width) は、各バーが占める使用可能なスペースの割合を指定します。たとえば、barh(y,1) とした場合、各グループのバーは互いに接触します。前述の任意の構文で、最後の引数として width を指定します。

barh(___,style) は、バー グループのスタイルを指定します。たとえば、barh(y,'stacked') は、各グループ内のバーを積み重ねて色分けされたバーにします。

barh(___,color) は、すべてのバーに単色を指定します。たとえば、barh(y,'red') は赤のバーを表示します。

barh(___,Name,Value) は 1 つ以上の名前と値のペアの引数を使用して、棒グラフのプロパティを指定します。既定の 'grouped' または 'stacked' スタイルを使用する棒グラフのみが、バーのプロパティの設定をサポートします。名前と値のペアの引数は、その他すべての入力引数の後に指定します。プロパティの一覧については、Bar のプロパティ を参照してください。

barh(ax,___) は、ターゲット座標軸に棒グラフを表示します。前述の任意の構文で、最初の引数として座標軸を指定します。

b = barh(___) は、1 つ以上の Bar オブジェクトを返します。y がベクトルの場合、barh は 1 つの Bar オブジェクトを返します。y が行列の場合、barh系列ごとに 1 つの Bar オブジェクトを返します。棒グラフを表示後、b を使用してバーのプロパティを設定します。

すべて折りたたむ

4 つの値のベクトルを作成します。各値に 1 つの横棒が対応するように、値を棒グラフで表示します。

y = [10 20 30 41];
barh(y)

x を 3 つの年の値の行列として定義します。y を、4 都市の降雪量データを含む行列として定義します。4 系列のバーを、年ごとにグループ分けして表示します。次に、軸ラベルと凡例を追加します。

x = [1980 1990 2000];
y = [40 50 63 52; 42 55 50 48; 30 20 44 40];
barh(x,y)
xlabel('Snowfall')
ylabel('Year')
legend({'Springfield','Fairview','Bristol','Jamesville'})

行列 y を作成します。次に、ベースライン値を 25 として、y の値を棒グラフで表示します。25 より小さい値はベースラインの左側に表示されます。

y = [8 15 33; 30 35 40; 50 55 62];
barh(y,'BaseValue',25)

x を 3 つの年の値のベクトルとして定義します。y を、負と正の値の組み合わせを含む行列として定義します。値を積み上げ型の横棒グラフで表示します。

x = [1980 1990 2000];
y = [15 20 -5; 10 -17 21; -10 5 15];
barh(x,y,'stacked')

y を 4 つの値のベクトルとして定義し、値を横棒グラフで表示します。次に、関数 yticklabels を呼び出して、縦軸上の目盛りラベルを変更します。

y = [10 20 30 41];
barh(y)
yticklabels({'April','May','June','July'})

バーのカテゴリを示す 1 つの方法は、X を categorical 配列として指定することです。関数 barh はカテゴリの並べ替えられたリストを使用するため、バーが期待どおりの順序で表示されない場合があります。順序を保持するには、関数 reordercats を呼び出します。

X を categorical 配列として定義し、関数 reordercats を呼び出してバーの順序を指定します。次に、Y をバーの長さのベクトルとして定義し、棒グラフを表示します。

X = categorical({'Small','Medium','Large','Extra Large'});
X = reordercats(X,{'Small','Medium','Large','Extra Large'});
Y = [10 21 33 52];
barh(X,Y)

vals を、2 系列のデータを含む行列として定義します。データを横棒グラフで表示し、出力引数を指定します。2 つの系列があるため、barh は 2 つの Bar オブジェクトのベクトルを返します。

x = [1 2 3];
vals = [2 3 6; 11 23 26];
b = barh(x,vals);

最初の系列のバーの先端に、値をラベルとして表示します。これを行うには、最初の Bar オブジェクトの XEndPoints プロパティおよび YEndPoints プロパティを取得することにより、バーの先端の座標を取得します。横棒グラフでは座標軸が回転しているため、XEndPointsYEndPoints の値を入れ替えてから関数 text に渡さなければなりません。バーの先端にテキストが触れないように、パディング値 0.3YEndpoints に追加します。次に、関数 text を呼び出してラベルを表示します。

xtips1 = b(1).YEndPoints + 0.3;
ytips1 = b(1).XEndPoints;
labels1 = string(b(1).YData);
text(xtips1,ytips1,labels1,'VerticalAlignment','middle')

次に、同じ手順に従って、2 番目の系列のバーの先端にラベルを表示します。

xtips2 = b(2).YEndPoints + 0.3;
ytips2 = b(2).XEndPoints;
labels2 = string(b(2).YData);
text(xtips2,ytips2,labels2,'VerticalAlignment','middle')

データを作成し、太さが 0.4 の赤いバーをもつ横棒グラフで表示します。

y = [10 22 30 42];
width = 0.4;
barh(y,width,'red');

列がそれぞれ 1 系列のデータである行列 y を作成します。次に、関数 barh を呼び出すときに出力引数を指定して、データを棒グラフで表示します。この場合、barh は 3 つの Bar オブジェクトのベクトルを返します。オブジェクトはそれぞれ別の系列に対応します。

y = [10 15 20; 30 35 40; 50 55 62];
b = barh(y);

2 番目の系列のバーを、太い赤の縁取りをもつ緑に変更します。

b(2).FaceColor = [.2 .6 .5];
b(2).EdgeColor = [.63 .08 .18];
b(2).LineWidth = 2;

データを作成し、既定の 'grouped' スタイルと 'stacked' スタイルを使用して、2 つの異なる棒グラフで表示します。

x = [1980 1990 2000];
y = [8 15 25; 30 35 40; 50 55 62];

% Grouped
tiledlayout(2,1);
ax1 = nexttile;
barh(ax1,x,y)
title('Grouped Style')

% Stacked
ax2 = nexttile;
barh(ax2,x,y,'stacked')
title('Stacked Style')

入力引数

すべて折りたたむ

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

表示XY の指定方法
1 系列のバーを表示。

xy を同じ長さのベクトルとして指定します。x の値は一意でなければなりませんが、y の値が一意である必要はありません。

x = [1980 1990 2000];
y = [10 20 30];
barh(x,y)

複数系列のバーをグループで表示。

以下のいずれかの組み合わせを指定します。

  • xy をサイズが等しい行列として指定。y の各列は、1 系列のバーに対応します。既定では、系列ごとに色が異なります。グループの一貫した配置を確保するには、x の列を同一のベクトルとして指定します。列が繰り返される場合でも、列内の値は一意でなければなりません。

  • x を一意な値のベクトルとして指定し、y を行列として指定。x の長さは、y の少なくとも 1 つの次元の長さと等しくなければなりません。y のもう一方の次元には、別の系列のバーの値が含まれています。

x = [1980 1980 1980
     1990 1990 1990];
y = [2 6 9
    11 22 32];
barh(x,y)
または
x = [1980 1990];
y = [2 6 9
    11 22 32];
barh(x,y)

1 つの x 値を中心とするバーのグループを 1 つ表示。

x をスカラーとして、y をベクトルとして指定します。

x = 1990;
y = [10 20 30];
barh(x,y)

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

バーの長さ。スカラー、ベクトル、または行列として指定します。y のサイズは、x のサイズとデータの表示方法によって異なります。次の表では、最も一般的な状況について説明します。

表示XY の指定方法
1 系列のバーを表示。

xy を同じ長さのベクトルとして指定します。x の値は一意でなければなりませんが、y の値が一意である必要はありません。

x = [1980 1990 2000];
y = [10 20 30];
barh(x,y)

複数系列のバーをグループで表示。

以下のいずれかの組み合わせを指定します。

  • xy をサイズが等しい行列として指定。y の各列は、1 系列のバーに対応します。既定では、系列ごとに色が異なります。グループの一貫した配置を確保するには、x の列を同一のベクトルとして指定します。列が繰り返される場合でも、列内の値は一意でなければなりません。

  • x を一意な値のベクトルとして指定し、y を行列として指定。x の長さは、y の少なくとも 1 つの次元の長さと等しくなければなりません。y のもう一方の次元には、別の系列のバーの値が含まれています。

x = [1980 1980 1980
     1990 1990 1990];
y = [2 6 9
    11 22 32];
barh(x,y)
または
x = [1980 1990];
y = [2 6 9
    11 22 32];
barh(x,y)

1 つの x 値を中心とするバーのグループを 1 つ表示。

x をスカラーとして、y をベクトルとして指定します。

x = 1990;
y = [10 20 30];
barh(x,y)

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

バーの太さ。各バーに使用可能な間隔全体に対する割合として指定します。既定値の 0.8 は、各バーが前のバーから次のバーまでの間隔の 80% を使用し、両側に 10% ずつ空白があることを意味します。

太さが 1 の場合、グループ内でバー同士が隙間なく表示されます。

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

グループのスタイル。次の値のいずれかとして指定します。

スタイル結果

'grouped'

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

'stacked'

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

y がベクトルである場合、結果は 'grouped' と同じです。

'histc'

バーをヒストグラム形式で表示します。この場合、グループ内のバーは互いに接触します。各グループの後方の端は、対応する x 値と揃えられます。

メモ

横向きのヒストグラムのより良い表示方法は、関数 histogram を呼び出して、名前と値のペアの引数 Orientation を指定することです。

'hist'

バーをヒストグラム形式で表示します。各グループは対応する x 値を中心とします。

メモ

横向きのヒストグラムのより良い表示方法は、関数 histogram を呼び出して、名前と値のペアの引数 Orientation を指定することです。

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

オプション説明
'blue' または 'b'
'red' または 'r'
'green' または 'g'
'cyan' または 'c'シアン
'magenta' または 'm'マゼンタ
'yellow' または 'y'
'black' または 'k'
'white' または 'w'

例: barh([10 20 30],'r') は、一連の赤いバーを作成します。

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、棒グラフは現在の座標軸に表示されます。

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: barh([10 20 30],'EdgeColor','g') は、バーの外枠の色を緑に指定します。

メモ

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

  • これらのプロパティは、既定の 'grouped' スタイルまたは 'stacked' スタイルを使用する棒グラフでのみ設定できます。

外枠の色。'flat'、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。150 本以下のバーがある場合、既定値は [0 0 0] で黒に相当します。150 本を超えるバーが隣接している場合、既定値は 'none' です。

R2017b から、'flat' オプションは CData 値を使用してエッジに着色します。以前のリリースにおいて、'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 進数カラー コードを示します。

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

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

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

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

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

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

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

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

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

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

例: b = bar(1:10,'EdgeColor','red')

例: b.EdgeColor = [0 0.5 0.5];

例: b.EdgeColor = 'flat';

例: b.EdgeColor = '#D2F9A7';

塗りつぶし色。'flat'、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。'flat' オプションは、Bar オブジェクトの CData プロパティ値を使用して面に着色します。

カスタム色を使用する場合は、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'

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

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

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

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

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

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

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

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

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

R2017b から、この既定値は座標軸の ColorOrder プロパティの RGB 3 成分です。以前のリリースにおいて、この既定値は 'flat' で、色はカラーマップに基づいていました。

例: b = bar(1:10,'FaceColor','red')

例: b.FaceColor = [0 0.5 0.5];

例: b.FaceColor = 'flat';

例: b.FaceColor = '#D2F9A7';

バーの外枠の幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。

例: 1.5

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

ベースライン値。スカラー数値として指定します。

指定したベースライン値は、棒グラフの方向に応じて x 軸または y 軸のいずれかに適用されます。棒グラフの方向を垂直から水平に、またはその逆に変更した場合、ベースライン値は変更されることがあります。BaseValue プロパティは、Horizontal プロパティを設定した後に設定してください。

出力引数

すべて折りたたむ

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

詳細

すべて折りたたむ

バーの系列

系列は、特定データセットの X におけるすべての場所にあるバーで構成されます。既定では、バーの系列はそれぞれ別々の色で示されます。

バーのグループ

グループは、X の特定の場所にあるすべてのバーで構成されます。

拡張機能

R2006a より前に導入