seaborn.barplot#
- seaborn.barplot(data=None, *, x=None, y=None, hue=None, order=None, hue_order=None, estimator='mean', errorbar=('ci', 95), n_boot=1000, seed=None, units=None, weights=None, orient=None, color=None, palette=None, saturation=0.75, fill=True, hue_norm=None, width=0.8, dodge='auto', gap=0, log_scale=None, native_scale=False, formatter=None, legend='auto', capsize=0, err_kws=None, ci=<deprecated>, errcolor=<deprecated>, errwidth=<deprecated>, ax=None, **kwargs)#
点推定値とエラーを矩形のバーで表示します。
棒グラフは、数値変数の集合体または統計的推定値を各矩形の高さで表し、エラーバーを使用してその推定値の周りの不確実性を示します。棒グラフは軸範囲に0を含み、変数が取る値として0が意味のある値である場合に適した選択肢です。
詳細はチュートリアルをご覧ください。
注記
デフォルトでは、この関数は変数の1つをカテゴリ型として扱い、関連する軸上の序数位置(0、1、… n)にデータを描画します。バージョン0.13.0以降、
native_scale=True
を設定することでこれを無効にすることができます。- パラメータ:
- **data**: DataFrame、Series、dict、array、またはarrayのリスト
プロットするデータセット。
x
とy
が存在しない場合、これはワイド形式として解釈されます。そうでない場合は、ロング形式であると想定されます。- **x、y、hue**:
data
内の変数の名前またはベクトルデータ ロング形式のデータのプロット入力。解釈については例を参照してください。
- **order、hue_order**: 文字列のリスト
カテゴリレベルをプロットする順序。そうでない場合は、レベルはデータオブジェクトから推測されます。
- **estimator**: ベクトル->スカラーをマッピングする文字列または呼び出し可能オブジェクト
各カテゴリビン内で推定する統計関数。
- **errorbar**: 文字列、(文字列、数値)タプル、呼び出し可能オブジェクト、またはNone
エラーバーメソッドの名前(「ci」、「pi」、「se」、または「sd」)、メソッド名とレベルパラメータを持つタプル、ベクトルから(最小、最大)間隔にマッピングする関数、またはエラーバーを非表示にする場合はNone。エラーバーのチュートリアルを参照してください。
バージョンv0.12.0の新機能。
- **n_boot**: int
信頼区間を計算するために使用されるブートストラップサンプルの数。
- **seed**: int、
numpy.random.Generator
、またはnumpy.random.RandomState
再現可能なブートストラップのためのシードまたは乱数ジェネレータ。
- **units**:
data
内の変数の名前またはベクトルデータ サンプリング単位の識別子。エラーバー関数によって多レベルブートストラップを実行し、反復測定を考慮するために使用されます
- **weights**:
data
内の変数の名前またはベクトルデータ 重み付き統計を計算するために使用されるデータ値または列。重みを使用すると、他の統計オプションが制限される可能性があることに注意してください。
バージョンv0.13.1の新機能。
- **orient**: 「v」|「h」|「x」|「y」
プロットの方向(垂直または水平)。これは通常、入力変数のタイプに基づいて推測されますが、
x
とy
の両方が数値の場合、またはワイド形式のデータをプロットする場合に、あいまいさを解決するために使用できます。バージョンv0.13.0で変更されました: 「x」/「y」をオプションとして追加しました。「v」/「h」と同等です。
- **color**: matplotlibの色
プロット内の要素の単一の色。
- **palette**: パレット名、リスト、またはdict
hue
変数の異なるレベルに使用する色。color_palette()
によって解釈できるもの、または色相レベルをmatplotlibの色にマッピングする辞書である必要があります。- **saturation**: float
塗りつぶしの色を描画するための元の彩度の割合。大きなパッチは彩度が低い色の方がよく見えることがありますが、入力値と完全に一致させる場合は、これを
1
に設定します。- **fill**: bool
Trueの場合、塗りつぶされたパッチを使用します。そうでない場合は、線画として描画します。
バージョンv0.13.0の新機能。
- **hue_norm**: タプルまたは
matplotlib.colors.Normalize
オブジェクト hue
変数が数値の場合に、それに適用されるカラーマップのデータ単位での正規化。hue
がカテゴリ型の場合は関係ありません。バージョンv0.12.0の新機能。
- **width**: float
方向軸上の各要素に割り当てられた幅。
native_scale=True
の場合、ネイティブスケールでの2つの値間の最小距離に対する相対値です。- **dodge**: 「auto」またはbool
色相マッピングが使用される場合、要素を狭めて方向軸に沿ってシフトしてオーバーラップをなくすかどうか。「auto」の場合、方向変数がカテゴリ変数と交差している場合はTrueに、そうでない場合はFalseに設定します。
バージョン 0.13.0 で変更: 新しいデフォルトとして
"auto"
モードを追加しました。- gapfloat
方向軸上でこの係数で縮小し、ドッジされた要素間にギャップを追加します。
バージョン 0.13.0 で追加。
- log_scalebool または数値、あるいは bool または数値のペア
軸スケールを対数に設定します。単一の値は、プロット内の数値軸のデータ軸を設定します。値のペアは、各軸を独立して設定します。数値は、目的の底(デフォルトは 10)として解釈されます。
None
またはFalse
の場合、seaborn は既存の軸スケールに従います。バージョンv0.13.0の新機能。
- native_scalebool
True の場合、カテゴリ軸の数値または日付時刻値は、固定インデックスに変換されるのではなく、元のスケールを維持します。
バージョンv0.13.0の新機能。
- formatter呼び出し可能
カテゴリデータを文字列に変換する関数。グループ化とティックラベルの両方に影響します。
バージョンv0.13.0の新機能。
- legend“auto”, “brief”, “full”, または False
凡例の描画方法。“brief” の場合、数値の
hue
とsize
変数は、等間隔の値のサンプルで表されます。“full” の場合、すべてのグループが凡例にエントリを取得します。“auto” の場合、レベルの数に基づいて brief または full 表現を選択します。False
の場合、凡例データは追加されず、凡例は描画されません。バージョンv0.13.0の新機能。
- capsizefloat
エラーバーの「キャップ」の幅(バーの間隔に対する相対値)。
- err_kwsdict
エラーバーアーティストの
matplotlib.lines.Line2D
のパラメータ。バージョンv0.13.0の新機能。
- cifloat
表示する信頼区間のレベル(0〜100)。
バージョン v0.12.0 から非推奨:
errorbar=("ci", ...)
を使用してください。- errcolormatplotlib カラー
エラーバーの線に使用する色。
バージョン 0.13.0 から非推奨:
err_kws={'color': ...}
を使用してください。- errwidthfloat
エラーバーの線の太さ(およびキャップ)をポイント単位で指定します。
バージョン 0.13.0 から非推奨:
err_kws={'linewidth': ...}
を使用してください。- axmatplotlib Axes
プロットを描画する Axes オブジェクト。指定しない場合は、現在の Axes を使用します。
- kwargsキーと値のマッピング
その他のパラメータは
matplotlib.patches.Rectangle
に渡されます。
- 戻り値:
- axmatplotlib Axes
プロットが描画された Axes オブジェクトを返します。
関連項目
備考
0 が意味のある値ではないデータセットの場合、
pointplot()
を使用すると、1 つ以上のカテゴリ変数のレベル間の違いに焦点を当てることができます。棒グラフは平均値(または他の集計値)のみを表示しますが、多くの場合、カテゴリ変数の各レベルでの値の分布を表示する方が有益です。そのような場合、
boxplot()
やviolinplot()
などのアプローチの方が適している場合があります。例
長いデータの場合、
x
とy
をカテゴリ変数でグループ化し、集計値を信頼区間とともにプロットします。sns.barplot(penguins, x="island", y="body_mass_g")
v0.13.0 より前では、各バーは異なる色でした。この動作を再現するには、グループ化変数を
hue
にも割り当てます。sns.barplot(penguins, x="body_mass_g", y="island", hue="island", legend=False)
「ワイド形式」のデータフレームをプロットする場合、各列が集計され、バーとして表されます。
flights_wide = flights.pivot(index="year", columns="month", values="passengers") sns.barplot(flights_wide)
シリーズ(または辞書)のみを渡すと、その各値がプロットされ、インデックス(またはキー)を使用してバーにラベルが付けられます。
sns.barplot(flights_wide["Jun"])
長い形式のデータでは、
hue
を使用して 2 番目のグループ化レイヤーを追加できます。sns.barplot(penguins, x="island", y="body_mass_g", hue="sex")
エラーバーを使用して、信頼区間ではなく標準偏差を表示します。
sns.barplot(penguins, x="island", y="body_mass_g", errorbar="sd")
別の集計関数を使用し、エラーバーを無効にします。
sns.barplot(flights, x="year", y="passengers", estimator="sum", errorbar=None)
各バーの値にテキストラベルを追加します。
ax = sns.barplot(flights, x="year", y="passengers", estimator="sum", errorbar=None) ax.bar_label(ax.containers[0], fontsize=10);
グループ化変数の元のスケールを保持し、数値座標に注釈を追加します。
ax = sns.barplot( flights, x="year", y="passengers", native_scale=True, estimator="sum", errorbar=None, ) ax.plot(1955, 3600, "*", markersize=10, color="r")
orient
を使用して、両方が数値の場合にどちらの変数をグループ化する必要があるかについてのあいまいさを解決します。sns.barplot(flights, x="passengers", y="year", orient="y")
matplotlib.patches.Rectangle
およびmatplotlib.lines.Line2D
キーワード引数を使用して、プロットの外観をカスタマイズします。sns.barplot( penguins, x="body_mass_g", y="island", errorbar=("pi", 50), capsize=.4, err_kws={"color": ".5", "linewidth": 2.5}, linewidth=2.5, edgecolor=".5", facecolor=(0, 0, 0, 0), )
catplot()
を使用してファセットバーを描画します。これは、FacetGrid
を直接操作するよりも推奨されます。sns.catplot( penguins, kind="bar", x="sex", y="body_mass_g", col="species", height=4, aspect=.5, )