seaborn.boxenplot#

seaborn.boxenplot(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, linewidth=None, linecolor=None, width_method='exponential', k_depth='tukey', outlier_prop=0.007, trust_alpha=0.05, showfliers=True, hue_norm=None, log_scale=None, native_scale=False, formatter=None, legend='auto', scale=<deprecated>, box_kws=None, flier_kws=None, line_kws=None, ax=None, **kwargs)#

より大きなデータセットのための拡張された箱ひげ図を描画します。

このスタイルのプロットは、もともと「レター値」として定義された多数の分位数を示すことから、「レター値」プロットと名付けられました。これは、すべての特徴が実際の観測に対応する分布のノンパラメトリック表現をプロットする点で箱ひげ図に似ています。より多くの分位数をプロットすることで、特にテールにおける分布の形状に関するより多くの情報を提供します。

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

注釈

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

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

プロット用のデータセット。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()、またはmatplotlibの色への色相レベルのマッピングを解釈できるものである必要があります。

saturationfloat

塗りつぶし色を描画する際の元の彩度の割合。大きなパッチは彩度が低い色の方が見栄えがよくなりますが、色を入力値に完全に一致させたい場合はこれを1に設定してください。

fillbool

Trueの場合、塗りつぶしパッチを使用します。それ以外の場合は、線画として描画します。

バージョンv0.13.0で新規追加。

dodge"auto"またはbool

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

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

widthfloat

向き軸の各要素に割り当てられた幅。native_scale=Trueの場合、ネイティブスケールでの2つの値間の最小距離に相対的です。

gapfloat

方向軸上でこの係数だけ縮小し、ドッジされた要素間にギャップを追加します。

バージョン0.13.0で新規追加。

linewidthfloat

プロット要素をフレーム化する線の幅。

linecolor

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

バージョンv0.13.0で新規追加。

width_method{“exponential”, “linear”, “area”}

レター値ボックスの幅に使用する方法

  • "exponential": 対応するパーセンタイルを表します

  • "linear": ボックスごとに一定量ずつ減少します

  • "area": そのボックス内のデータポイントの密度を表します

k_depth{“tukey”, “proportion”, “trustworthy”, “full”} または int

各テールで計算して描画するレベル数

  • "tukey": log2(n) - 3レベルを使用し、箱ひげ図のひげと同じ範囲をカバーします

  • "proportion": およそoutlier_prop個の飛び地を残します

  • "trusthworthy": 信頼度が少なくともtrust_alphaのレベルまで拡張します

  • "full": log2(n) + 1レベルを使用し、最も極端な点まで拡張します

outlier_propfloat

外れ値と予想されるデータの割合。 k_depth="proportion" の場合に使用されます。

trust_alphafloat

最極端なレベルに対する信頼度の閾値。 k_depth="trustworthy" の場合に使用されます。

showfliersbool

Falseの場合、外れ値のプロットを抑制します。

hue_normtuple または (Matplotlib v3.8.2 の) matplotlib.colors.Normalize オブジェクト

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

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

log_scalebool または数値、あるいは bool または数値のペア

軸のスケールを対数に設定します。単一の値は、プロット内の任意の数値軸のデータ軸を設定します。値のペアは、各軸を独立して設定します。数値は、希望の基数 (デフォルトは10) として解釈されます。None または False の場合、seaborn は既存の軸スケールに従います。

バージョンv0.13.0で新規追加。

native_scalebool

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

バージョンv0.13.0で新規追加。

formattercallable

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

バージョンv0.13.0で新規追加。

legend"auto"、"brief"、"full"、または False

凡例の描画方法。"brief" の場合、数値の hue および size 変数は、均等に間隔を空けた値のサンプルで表されます。"full" の場合、すべてのグループが凡例にエントリを取得します。"auto" の場合、レベルの数に基づいて brief または full の表現を選択します。False の場合、凡例データは追加されず、凡例は描画されません。

バージョンv0.13.0で新規追加。

box_kws: dict

ボックスアーティストのキーワード引数。(Matplotlib v3.8.2 の) matplotlib.patches.Rectangle に渡されます。

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

line_kws: dict

中央値を表す線のキーワード引数。(Matplotlib v3.8.2 の) matplotlib.axes.Axes.plot() に渡されます。

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

flier_kws: dict

外れ値の観測値を表す散布図のキーワード引数。(Matplotlib v3.8.2 の) matplotlib.axes.Axes.scatter() に渡されます。

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

axmatplotlib Axes

プロットを描画する Axes オブジェクト。それ以外の場合は現在の Axes を使用します。

kwargsキーと値のマッピング

その他のキーワード引数は、(Matplotlib v3.8.2 の) matplotlib.patches.Rectangle に渡されます。 box_kws 内のものによって上書きされます。

戻り値:
axmatplotlib Axes

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

関連事項

violinplot

箱ひげ図とカーネル密度推定の組み合わせ。

boxplot

同様の API を持つ従来の箱ひげ図。

catplot

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

注釈

より詳しい説明については、プロットを紹介した論文を読むことができます: https://vita.had.co.nz/papers/letter-value-plot.html

単一の水平プロットを描画し、データを直接座標変数に割り当てます

sns.boxenplot(x=diamonds["price"])
../_images/boxenplot_1_0.png

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

sns.boxenplot(data=diamonds, x="price", y="clarity")
../_images/boxenplot_3_0.png

別の変数でグループ化し、ボックスの色で表現します。デフォルトでは、各ボックスプロットは重ならないように「ドッジ」されます。間に小さなギャップを追加することもできます

large_diamond = diamonds["carat"].gt(1).rename("large_diamond")
sns.boxenplot(data=diamonds, x="price", y="clarity", hue=large_diamond, gap=.2)
../_images/boxenplot_5_0.png

各ボックス幅を選択するためのデフォルトルールは、ボックスでカバーされるパーセンタイルを表します。あるいは、各ボックス幅を線形係数で縮小することもできます

sns.boxenplot(data=diamonds, x="price", y="clarity", width_method="linear")
../_images/boxenplot_7_0.png

一方、width パラメーター自体は、最大のボックスの幅を決定します

sns.boxenplot(data=diamonds, x="price", y="clarity", width=.5)
../_images/boxenplot_9_0.png

パーセンタイル推定の信頼水準に基づくルールを含め、描画するボックスの数を選択するためのいくつかの異なるアプローチがあります

sns.boxenplot(data=diamonds, x="price", y="clarity", k_depth="trustworthy", trust_alpha=0.01)
../_images/boxenplot_11_0.png

linecolor および linewidth パラメーターはボックスの輪郭を制御し、line_kws パラメーターは中央値を表す線を制御し、flier_kws パラメーターは外れ値の外観を制御します

sns.boxenplot(
    data=diamonds, x="price", y="clarity",
    linewidth=.5, linecolor=".7",
    line_kws=dict(linewidth=1.5, color="#cde"),
    flier_kws=dict(facecolor=".7", linewidth=.5),
)
../_images/boxenplot_13_0.png

塗りつぶされていないボックスを描画することもできます。塗りつぶされていないボックスでは、すべての要素が線画として描画され、使用されている場合は hue に従います

sns.boxenplot(data=diamonds, x="price", y="clarity", hue="clarity", fill=False)
../_images/boxenplot_15_0.png