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のリスト

プロットするデータセット。xyが存在しない場合、これはワイド形式として解釈されます。そうでない場合は、ロング形式であると想定されます。

**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」

プロットの方向(垂直または水平)。これは通常、入力変数のタイプに基づいて推測されますが、xyの両方が数値の場合、またはワイド形式のデータをプロットする場合に、あいまいさを解決するために使用できます。

バージョン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” の場合、数値の huesize 変数は、等間隔の値のサンプルで表されます。“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 オブジェクトを返します。

関連項目

countplot

各カテゴリビンにおける観測数を表示します。

pointplot

点推定値と信頼区間をドットを使用して表示します。

catplot

カテゴリプロットと FacetGrid を組み合わせます。

備考

0 が意味のある値ではないデータセットの場合、pointplot() を使用すると、1 つ以上のカテゴリ変数のレベル間の違いに焦点を当てることができます。

棒グラフは平均値(または他の集計値)のみを表示しますが、多くの場合、カテゴリ変数の各レベルでの値の分布を表示する方が有益です。そのような場合、boxplot()violinplot() などのアプローチの方が適している場合があります。

長いデータの場合、xy をカテゴリ変数でグループ化し、集計値を信頼区間とともにプロットします。

sns.barplot(penguins, x="island", y="body_mass_g")
../_images/barplot_1_0.png

v0.13.0 より前では、各バーは異なる色でした。この動作を再現するには、グループ化変数を hue にも割り当てます。

sns.barplot(penguins, x="body_mass_g", y="island", hue="island", legend=False)
../_images/barplot_3_0.png

「ワイド形式」のデータフレームをプロットする場合、各列が集計され、バーとして表されます。

flights_wide = flights.pivot(index="year", columns="month", values="passengers")
sns.barplot(flights_wide)
../_images/barplot_5_0.png

シリーズ(または辞書)のみを渡すと、その各値がプロットされ、インデックス(またはキー)を使用してバーにラベルが付けられます。

sns.barplot(flights_wide["Jun"])
../_images/barplot_7_0.png

長い形式のデータでは、hue を使用して 2 番目のグループ化レイヤーを追加できます。

sns.barplot(penguins, x="island", y="body_mass_g", hue="sex")
../_images/barplot_9_0.png

エラーバーを使用して、信頼区間ではなく標準偏差を表示します。

sns.barplot(penguins, x="island", y="body_mass_g", errorbar="sd")
../_images/barplot_11_0.png

別の集計関数を使用し、エラーバーを無効にします。

sns.barplot(flights, x="year", y="passengers", estimator="sum", errorbar=None)
../_images/barplot_13_0.png

各バーの値にテキストラベルを追加します。

ax = sns.barplot(flights, x="year", y="passengers", estimator="sum", errorbar=None)
ax.bar_label(ax.containers[0], fontsize=10);
../_images/barplot_15_0.png

グループ化変数の元のスケールを保持し、数値座標に注釈を追加します。

ax = sns.barplot(
    flights, x="year", y="passengers",
    native_scale=True,
    estimator="sum", errorbar=None,
)
ax.plot(1955, 3600, "*", markersize=10, color="r")
../_images/barplot_17_0.png

orient を使用して、両方が数値の場合にどちらの変数をグループ化する必要があるかについてのあいまいさを解決します。

sns.barplot(flights, x="passengers", y="year", orient="y")
../_images/barplot_19_0.png

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),
)
../_images/barplot_21_0.png

catplot() を使用してファセットバーを描画します。これは、FacetGrid を直接操作するよりも推奨されます。

sns.catplot(
    penguins, kind="bar",
    x="sex", y="body_mass_g", col="species",
    height=4, aspect=.5,
)
../_images/barplot_23_0.png