seaborn.boxplot#

seaborn.boxplot(data=None, *, x=None, y=None, hue=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, fill=True, dodge='auto', width=0.8, gap=0, whis=1.5, linecolor='auto', linewidth=None, fliersize=None, hue_norm=None, native_scale=False, log_scale=None, formatter=None, legend='auto', ax=None, **kwargs)#

カテゴリ別に分布を示す箱ひげ図を描画します。

箱ひげ図(または箱ひげ図)は、変数間の比較またはカテゴリ変数のレベル間での比較を容易にする方法で、量的データの分布を示します。箱はデータセットの四分位数を示し、ひげは四分位範囲の関数である方法を使用して「外れ値」と判断された点を除く、分布の残りの部分を拡張して示します。

詳細は、チュートリアルを参照してください。

注記

デフォルトでは、この関数は変数の1つをカテゴリとして扱い、関連する軸上の序数位置(0、1、… n)にデータをプロットします。バージョン0.13.0以降、native_scale=True を設定することで、これを無効にできます。

パラメータ:
dataDataFrame、Series、dict、配列、または配列のリスト

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

x、y、huedata内の変数の名前またはベクトルデータ

ロング形式のデータのプロットのための入力。解釈については例を参照してください。

order、hue_order文字列のリスト

カテゴリレベルをプロットする順序。そうでない場合は、データオブジェクトからレベルが推測されます。

orient“v” | “h” | “x” | “y”

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

バージョンv0.13.0での変更: ’x’/’y’をオプションとして追加しました。’v’/’h’と同等です。

colormatplotlibの色

プロット内の要素の単一の色。

paletteパレット名、リスト、または辞書

hue変数の異なるレベルに使用される色。color_palette()で解釈できるもの、またはhueレベルをmatplotlibの色にマッピングする辞書である必要があります。

saturation浮動小数点数

塗りつぶしの色を描く元の彩度の割合。大きなパッチは、彩度が低い色の方がよく見えることがよくありますが、色が入力値と完全に一致するようにするには、これを1に設定します。

fillbool

Trueの場合、ソリッドパッチを使用します。それ以外の場合は、線画として描画します。

バージョンv0.13.0の新機能。

dodge“auto”またはbool

hueマッピングを使用する場合、重複をなくすために要素を狭めてorient軸に沿ってシフトするかどうか。 "auto"の場合、orient変数がカテゴリ変数と交差する場合はTrue、そうでない場合はFalseに設定されます。

バージョン0.13.0での変更: "auto"モードを新しいデフォルトとして追加しました。

width浮動小数点数

orient軸上の各要素に割り当てられた幅。native_scale=Trueの場合、ネイティブスケールでの2つの値間の最小距離に関連します。

gap浮動小数点数

ずらし合わせた要素間に隙間を作るため、方向軸をこの係数で縮小します。

バージョン 0.13.0 で追加。

whisfloat または float のペア

ウィスカーの長さを制御するパラメーター。スカラーの場合は、最も近いヒンジからwhis * IQRの範囲内にある最も遠いデータポイントまでウィスカーが描画されます。タプルを指定した場合は、ウィスカーが表すパーセンタイルとして解釈されます。

linecolor

fillが True の場合、線要素に使用する色。

バージョンv0.13.0の新機能。

linewidthfloat

プロット要素を囲む線の幅。

fliersizefloat

外れ値の観測値を示すために使用されるマーカーのサイズ。

hue_normタプルまたはmatplotlib.colors.Normalize オブジェクト

数値であるhue変数に適用されるカラーマップのデータ単位での正規化。 hueがカテゴリカルな場合は関係ありません。

バージョン v0.12.0 で追加。

log_scalebool または数値、または bool または数値のペア

軸の尺度を対数に設定します。単一の値は、プロット内の数値軸のデータ軸を設定します。値のペアは、各軸を個別に設定します。数値は、目的の底(デフォルトは 10)として解釈されます。NoneまたはFalseの場合、seaborn は既存の Axes スケールに従います。

バージョンv0.13.0の新機能。

native_scalebool

True の場合、カテゴリカル軸の数値または日時値は、固定インデックスに変換されるのではなく、元のスケーリングを維持します。

バージョンv0.13.0の新機能。

formatter呼び出し可能オブジェクト

カテゴリカルデータを文字列に変換する関数。グループ化と目盛りラベルの両方に影響します。

バージョンv0.13.0の新機能。

legend“auto”, “brief”, “full”, または False

凡例を描画する方法。「brief」の場合、数値のhue変数とsize変数は、均等に間隔を空けた値のサンプルで表されます。「full」の場合、すべてのグループに凡例のエントリが作成されます。「auto」の場合、レベルの数に基づいて、簡潔な表現と完全な表現のどちらかを選択します。Falseの場合、凡例データは追加されず、凡例は描画されません。

バージョンv0.13.0の新機能。

axmatplotlib Axes

プロットを描画する Axes オブジェクト。そうでない場合は、現在の Axes を使用します。

kwargsキーと値のマッピング

その他のキーワード引数は、matplotlib.axes.Axes.boxplot()に渡されます。

戻り値:
axmatplotlib Axes

プロットが描画された Axes オブジェクトを返します。

参照

violinplot

boxplot とカーネル密度推定の組み合わせ。

stripplot

1 つの変数がカテゴリカルである散布図。他のプロットと組み合わせて、各観測値を表示するために使用できます。

swarmplot

点が重ならないカテゴリカル散布図。他のプロットと組み合わせて、各観測値を表示するために使用できます。

catplot

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

単一の水平方向の boxplot を描き、データを座標変数に直接割り当てます。

sns.boxplot(x=titanic["age"])
../_images/boxplot_1_0.png

カテゴリカル変数でグループ化し、データフレーム内の列を参照します。

sns.boxplot(data=titanic, x="age", y="class")
../_images/boxplot_3_0.png

2 つの変数によるネストされたグループ化を使用して、垂直方向の boxplot を描画します。

sns.boxplot(data=titanic, x="class", y="age", hue="alive")
../_images/boxplot_5_0.png

ボックスを線画として描き、その間に小さな隙間を追加します。

sns.boxplot(data=titanic, x="class", y="age", hue="alive", fill=False, gap=.1)
../_images/boxplot_7_0.png

ウィスカーでデータの全範囲をカバーします。

sns.boxplot(data=titanic, x="age", y="deck", whis=(0, 100))
../_images/boxplot_9_0.png

より狭いボックスを描画します。

sns.boxplot(data=titanic, x="age", y="deck", width=.5)
../_images/boxplot_11_0.png

すべての線アーティストの色と幅を変更します。

sns.boxplot(data=titanic, x="age", y="deck", color=".8", linecolor="#137", linewidth=.75)
../_images/boxplot_13_0.png

数値変数でグループ化し、その元のスケーリングを保持します。

ax = sns.boxplot(x=titanic["age"].round(-1), y=titanic["fare"], native_scale=True)
ax.axvline(25, color=".3", dashes=(2, 2))
../_images/boxplot_15_0.png

基礎となる matplotlib 関数の parameters を使用してプロットをカスタマイズします。

sns.boxplot(
    data=titanic, x="age", y="class",
    notch=True, showcaps=False,
    flierprops={"marker": "x"},
    boxprops={"facecolor": (.3, .5, .7, .5)},
    medianprops={"color": "r", "linewidth": 2},
)
../_images/boxplot_17_0.png