このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
barh
横棒グラフ
構文
説明
barh(___,
は、各バーが占める使用可能なスペースの割合を指定します。たとえば、width
)barh(y,1)
とした場合、各グループのバーは互いに接触します。前述のいずれかの構文で、最後の引数として width
を指定します。
barh(___,
は 1 つ以上の名前と値のペアの引数を使用して、棒グラフのプロパティを指定します。既定の Name,Value
)'grouped'
または 'stacked'
スタイルを使用する棒グラフのみが、バーのプロパティの設定をサポートします。名前と値のペアの引数は、その他すべての入力引数の後に指定します。プロパティの一覧については、Bar のプロパティ を参照してください。
例
1 系列のバーの表示
軸ラベルと凡例とともに 4 系列のバーを表示
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'})
string ベクトルとしてのバーの位置の指定
R2023b 以降
4 つのバーの名前を含む string ベクトル x
を作成します。バーの長さを含む数値ベクトル y
を作成します。次に、x
と y
の棒グラフを作成します。
x = ["Spring" "Summer" "Autumn" "Winter"]; y = [1 2 3 4]; barh(x,y)
ベースライン値の変更
行列 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'})
categorical データの指定
バーのカテゴリを示す 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
プロパティを取得することにより、バーの先端の座標を取得します。横棒グラフでは座標軸が回転しているため、XEndPoints
と YEndPoints
の値を入れ替えてから関数 text
に渡さなければなりません。バーの先端にテキストが触れないように、パディング値 0.3
を YEndpoints
に追加します。次に、関数 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 系列のバーのカスタマイズ
列がそれぞれ 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
— 縦軸の座標
スカラー | ベクトル | 行列 | string 配列 | 文字ベクトルの cell 配列
縦軸の座標。スカラー、ベクトル、行列、string 配列、または文字ベクトルの cell 配列として指定します。x
の値を順番にする必要はありませんが、x
のサイズは、y
のサイズとデータの表示方法によって異なります。次の表では、最も一般的な状況について説明します。
表示 | X と Y の指定方法 | 例 |
---|---|---|
1 系列のバーを表示。 |
|
x = [1980 1990 2000]; y = [10 20 30]; barh(x,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 = 1990; y = [10 20 30]; barh(x,y)
|
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
| string
(R2023b 以降) | cell
(R2023b 以降)
y
— バーの長さ
スカラー | ベクトル | 行列
バーの長さ。スカラー、ベクトル、または行列として指定します。y
のサイズは、x
のサイズとデータの表示方法によって異なります。次の表では、最も一般的な状況について説明します。
表示 | X と Y の指定方法 | 例 |
---|---|---|
1 系列のバーを表示。 |
|
x = [1980 1990 2000]; y = [10 20 30]; barh(x,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 = 1990; y = [10 20 30]; barh(x,y)
|
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| duration
width
— バーの太さ
0.8
(既定値) | スカラー
バーの太さ。各バーに使用可能な間隔全体に対する割合として指定します。既定値の 0.8
は、各バーが前のバーから次のバーまでの間隔の 80% を使用し、両側に 10% ずつ空白があることを意味します。
太さが 1
の場合、グループ内でバー同士が隙間なく表示されます。
例: barh([1 2 3],0.5)
は、使用可能な間隔の 50% を使用するバーを作成します。
style
— グループのスタイル
'grouped'
(既定値) | 'stacked'
| 'hist'
| 'histc'
グループのスタイル。次の値のいずれかとして指定します。
スタイル | 結果 | 例 |
---|---|---|
| 各グループを、対応する |
|
| 各グループを、色分けされた 1 つのバーとして表示します。バーの長さはグループ内の要素の合計です。
|
|
| バーをヒストグラム形式で表示します。この場合、グループ内のバーは互いに接触します。各グループの後方の端は、対応する メモ 横向きのヒストグラムのより良い表示方法は、関数 |
|
| バーをヒストグラム形式で表示します。各グループは対応する メモ 横向きのヒストグラムのより良い表示方法は、関数 |
|
color
— バーの色
色名 | 省略名
バーの色。次の表のオプションのいずれかとして指定します。
色名 | 省略名 | 外観 |
---|---|---|
'red' | 'r' | |
'green' | 'g' | |
'blue' | 'b' | |
'cyan' | 'c' | |
'magenta' | 'm' | |
'yellow' | 'y' | |
'black' | 'k' | |
'white' | 'w' | |
ax
— ターゲット座標軸
Axes
オブジェクト
ターゲット座標軸。Axes
オブジェクトとして指定します。座標軸を指定しない場合、棒グラフは現在の座標軸に表示されます。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: barh([10 20 30],'EdgeColor','g')
は、バーの外枠の色を緑に指定します。
メモ
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、Bar のプロパティ を参照してください。
これらのプロパティは、既定の
'grouped'
スタイルまたは'stacked'
スタイルを使用する棒グラフでのみ設定できます。
EdgeColor
— 外枠の色
'flat'
| RGB 3 成分 | 16 進数カラー コード | 'r'
| 'g'
| 'b'
| ...
外枠の色。'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';
FaceColor
— 塗りつぶし色
'flat'
| RGB 3 成分 | 16 進数カラー コード | 'r'
| 'g'
| 'b'
| ...
塗りつぶし色。'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';
LineWidth
— バーの外枠の幅
0.5
(既定値) | 正の値
バーの外枠の幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。
例: 1.5
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
BaseValue
— ベースライン値
0
(既定値) | スカラー数値
ベースライン値。スカラー数値として指定します。
指定したベースライン値は、棒グラフの方向に応じて x 軸または y 軸のいずれかに適用されます。棒グラフの方向を垂直から水平に、またはその逆に変更した場合、ベースライン値は変更されることがあります。BaseValue
プロパティは、Horizontal
プロパティを設定した後に設定してください。
出力引数
b
— Bar
オブジェクト
Bar
オブジェクト
Bar
オブジェクト。作成後に特定の Bar
オブジェクトのプロパティにアクセスして変更するには、b
の要素を使用します。Bar
オブジェクトの数は、y
のサイズによって異なります。y
がベクトルの場合、b
は 1 つの Bar
オブジェクトです。y
が行列の場合、b
は、y
の系列ごとに 1 つの Bar
オブジェクトを含むベクトルです。
詳細
バーの系列
系列は、特定データ セットの X
におけるすべての場所にあるバーで構成されます。既定では、バーの系列はそれぞれ別々の色で示されます。
バーのグループ
グループは、X
の特定の場所にあるすべてのバーで構成されます。
拡張機能
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
この関数は GPU 配列を受け入れますが、GPU 上では実行されません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
この関数は分散配列に対して演算を行いますが、クライアントの MATLAB で実行されます。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入R2023b: string ベクトル、または文字ベクトルの cell 配列としてのバーのラベルの指定
横棒グラフを作成する場合、string ベクトル、または文字ベクトルの cell 配列としてバーのラベルを指定できます。バーの目盛りラベルは、指定の順序で表示されます。
参考
関数
プロパティ
外部の Web サイト
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)