このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
bar
棒グラフ

構文
説明
bar(___,
は 1 つ以上の名前と値のペアの引数を使用して、棒グラフのプロパティを指定します。既定の Name,Value
)'grouped'
または 'stacked'
スタイルを使用する棒グラフのみが、バーのプロパティの設定をサポートします。名前と値のペアの引数は、その他すべての入力引数の後に指定します。プロパティの一覧については、Bar のプロパティ を参照してください。
例
棒グラフの作成
バーの位置の指定
バーの x 軸上の位置を指定します。
x = 1900:10:2000; y = [75 91 105 123.5 131 150 179 203 226 249 281.5]; bar(x,y)
バーの幅の指定
各バーの幅を、各バーに使用可能な間隔全体の 40% に設定します。
y = [75 91 105 123.5 131 150 179 203 226 249 281.5]; bar(y,0.4)
バーのグループの表示
積み上げ型のバーの表示
行列の行ごとに 1 本のバーを表示します。各バーの高さは行の要素の合計になります。
y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y,'stacked')
1 つの積み上げ型のバーの表示
スカラー x
とベクトル y
を作成します。x=2020
を中心とする積み上げ型のバーを 1 つ表示します。スタックの各セクションは y
の要素に対応します。
x = 2020;
y = [30 50 23];
b = bar(x,y,"stacked");
積み上げ型のバーの幅を調整します。個々のバーは積み上げられているため、1 つの Bar
オブジェクトの幅を変更すると、すべてのオブジェクトの幅が変化します。
b(1).BarWidth = 0.25;
負のデータを含む積み上げ型のバーの表示
x
を 3 つの年の値のベクトルとして定義します。y
を、負と正の値の組み合わせを含む行列として定義します。値を棒グラフで表示します。
x = [1980 1990 2000];
y = [15 20 -5; 10 -17 21; -10 5 15];
bar(x,y,'stacked')
categorical データの指定
バーのカテゴリを示す 1 つの方法は、X
を categorical 配列として指定することです。関数 bar
はカテゴリの並べ替えられたリストを使用するため、バーが期待どおりの順序で表示されない場合があります。順序を保持するには、関数 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]; bar(X,Y)
バーの先端にラベルを指定
vals
を、2 つのデータセットの値を含む行列として定義します。値を棒グラフで表示して、出力引数を指定します。データセットが 2 つあるため、bar
は 2 つの Bar
オブジェクトを含むベクトルを返します。
x = [1 2 3]; vals = [2 3 6; 11 23 26]; b = bar(x,vals);
最初の系列のバーの先端に値を表示します。最初の Bar
オブジェクトの XEndPoints
プロパティおよび YEndPoints
プロパティを取得することにより、バーの先端の座標を取得します。これらの座標を関数 text
に渡し、垂直方向と水平方向の配置を指定して、バーの先端上方の中央に値が表示されるようにします。
xtips1 = b(1).XEndPoints; ytips1 = b(1).YEndPoints; labels1 = string(b(1).YData); text(xtips1,ytips1,labels1,'HorizontalAlignment','center',... 'VerticalAlignment','bottom')
次に、2 番目の系列のバーの先端上方に値を表示します。
xtips2 = b(2).XEndPoints; ytips2 = b(2).YEndPoints; labels2 = string(b(2).YData); text(xtips2,ytips2,labels2,'HorizontalAlignment','center',... 'VerticalAlignment','bottom')
棒グラフの座標軸の指定
R2019b 以降
関数 tiledlayout
および関数 nexttile
を使用して、棒グラフをタイル表示できます。関数 tiledlayout
を呼び出して、2 行 1 列のタイル表示チャート レイアウトを作成します。関数 nexttile
を呼び出して、axes オブジェクト ax1
および ax2
を作成します。棒グラフを上の座標軸に表示します。下の座標軸には、同じデータの積み上げ型の棒グラフを表示します。
y = [1 2 3; 4 5 6]; tiledlayout(2,1) % Top bar graph ax1 = nexttile; bar(ax1,y) % Bottom bar graph ax2 = nexttile; bar(ax2,y,'stacked')
バーの色の指定
バーと外枠の色の指定
バーの内部の色と外枠の色を RGB 3 成分を使用して指定します。バーの外枠の幅を設定します。
y = [75 91 105 123.5 131 150 179 203 226 249 281.5]; bar(y,'FaceColor',[0 .5 .5],'EdgeColor',[0 .9 .9],'LineWidth',1.5)
個々のバーの色の制御
Bar
オブジェクトの CData
プロパティを使用して個々のバーの色を制御します。
棒グラフを作成し、Bar
オブジェクトを変数に割り当てます。Bar
オブジェクトの FaceColor
プロパティを 'flat'
に設定して、CData
プロパティで定義された色をグラフで使用します。既定では、CData
プロパティに既定の RGB カラー値の行列が事前入力されています。特定の色を変更するには、行列の対応する行を変更します。たとえば、2 番目のバーの色を変更します。
b = bar(rand(10,1));
b.FaceColor = 'flat';
b.CData(2,:) = [.5 0 .5];
カラーマップの色を含む棒グラフ
FaceColor
プロパティを 'flat'
に設定して、カラーマップの色を使用する棒グラフを作成します。次に、各 Bar
オブジェクトの CData
プロパティを整数に設定します。
y = [1 3 5; 3 2 7; 3 4 2]; b = bar(y,'FaceColor','flat'); for k = 1:size(y,2) b(k).CData = k; end
グループ化されたバーまたは積み上げ型のバーでの系列のカスタマイズ
列がそれぞれ 1 系列のデータである行列 y
を作成します。関数 bar
を呼び出してデータを棒グラフで表示し、出力引数を指定します。出力は、それぞれ別々の系列に対応する 3 つの Bar
オブジェクトのベクトルです。これは、バーがグループ化されている場合でも積み上げ型の場合でも該当します。
y = [10 15 20; 30 35 40; 50 55 62]; b = bar(y);
3 番目の系列のバーを緑にします。
b(3).FaceColor = [.2 .6 .5];
入力引数
x
— x 座標
スカラー | ベクトル | 行列
x 座標。スカラー、ベクトルまたは行列として指定します。x
の値を順番にする必要はありませんが、x
のサイズは、y
のサイズとデータの表示方法によって異なります。次の表では、最も一般的な状況について説明します。
表示 | X と Y の指定方法 | 例 |
---|---|---|
1 系列のバーを表示。 |
|
x = [1980 1990 2000]; y = [10 20 30]; bar(x,y)
|
複数系列のバーをグループで表示。 | 以下のいずれかの組み合わせを指定します。
| x = [1980 1980 1980 1990 1990 1990]; y = [2 6 9 11 22 32]; bar(x,y) x = [1980 1990]; y = [2 6 9 11 22 32]; bar(x,y)
|
1 つの x 値を中心とするバーのグループを 1 つ表示。 |
|
x = 1990; y = [10 20 30]; bar(x,y)
|
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
y
— y 座標
スカラー | ベクトル | 行列
y 座標。スカラー、ベクトルまたは行列として指定します。y
のサイズは、x
のサイズとデータの表示方法によって異なります。次の表では、最も一般的な状況について説明します。
表示 | X と Y の指定方法 | 例 |
---|---|---|
1 系列のバーを表示。 |
|
x = [1980 1990 2000]; y = [10 20 30]; bar(x,y)
|
複数系列のバーをグループで表示。 | 以下のいずれかの組み合わせを指定します。
| x = [1980 1980 1980 1990 1990 1990]; y = [2 6 9 11 22 32]; bar(x,y) x = [1980 1990]; y = [2 6 9 11 22 32]; bar(x,y)
|
1 つの x 値を中心とするバーのグループを 1 つ表示。 |
|
x = 1990; y = [10 20 30]; bar(x,y)
|
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| duration
width
— バー幅
0.8
(既定値) | スカラー
バーの幅。各バーに使用可能な間隔全体に対する割合として指定します。既定値の 0.8
は、バー幅が前のバーと次のバーの間隔の 80% で、その間隔の 10% ずつがバーの両側にあることを示します。
幅が 1
の場合、グループ内でバー同士が隙間なく表示されます。
例: bar([1 2 3],0.5)
は、使用可能な間隔の 50% を使用するバーを作成します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
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 オブジェクト
axes オブジェクト。座標軸を指定しない場合、bar
は棒グラフに現在の座標軸を使用します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: bar([10 20 30],'EdgeColor','g')
は、バーの外枠の色を緑に指定します。
ここでは、Bar
プロパティの一部だけを紹介しています。完全な一覧については、Bar のプロパティ を参照してください。
メモ
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、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';
CData
— カラー データ
RGB 3 成分 | 3 列の行列 | スカラー | ベクトル
カラー データ。次のいずれかの値として指定します。
RGB 3 成分 — 単一の RGB カラー値をすべてのバーに適用します。
3 列の行列 — バーごとに 1 色。行列の各行は、特定のバーの RGB 3 成分を指定します。
スカラー — 単一の色をすべてのバーに適用します。この色はカラーマップから得られます。
ベクトル — バーごとに 1 色。色はカラーマップから得られます。
既定では、棒グラフを作成するときに CData
プロパティに RGB 3 成分から成る 3 列の行列が含まれます。行列内の対応する行を変更することで、特定のバーの色を変更できます。
このプロパティは、FaceColor
または EdgeColor
プロパティが 'flat'
に設定されている場合にのみ適用されます。
例
FaceColor
プロパティを 'flat'
に設定して、特定のバーの色を変更します。次に、行列 CData
内の対応する行を新しい RGB 3 成分に変更します。たとえば、2 番目のバーの色を変更します。
b = bar(1:10,'FaceColor','flat'); b.CData(2,:) = [0 0.8 0.8];
BaseValue
— ベースライン値
0
(既定値) | スカラー数値
ベースライン値。スカラー数値として指定します。
指定したベースライン値は、棒グラフの方向に応じて x 軸または y 軸のいずれかに適用されます。棒グラフの方向を垂直から水平に、またはその逆に変更した場合、ベースライン値は変更されることがあります。BaseValue
プロパティは、Horizontal
プロパティを設定した後に設定してください。
LineStyle
— バーの外枠のライン スタイル
'-'
(既定値) | '--'
| ':'
| '-.'
| 'none'
バーの外枠のライン スタイル。次の表のライン スタイルのいずれかとして指定します。
ライン スタイル | 説明 | 結果として得られる線 |
---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
"none" | ラインなし | ラインなし |
LineWidth
— バーの外枠の幅
0.5
(既定値) | 正の値
バーの外枠の幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。
例: 1.5
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
出力引数
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 より前に導入
参考
関数
プロパティ
外部の 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)