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、配列、または配列のリスト
プロットするデータセット。
x
とy
が存在しない場合、これはワイド形式として解釈されます。それ以外の場合は、ロング形式であることが期待されます。- x、y、hue
data
内の変数の名前またはベクトルデータ ロング形式のデータのプロットのための入力。解釈については例を参照してください。
- order、hue_order文字列のリスト
カテゴリレベルをプロットする順序。そうでない場合は、データオブジェクトからレベルが推測されます。
- orient“v” | “h” | “x” | “y”
プロットの向き(縦または横)。これは通常、入力変数のタイプに基づいて推測されますが、
x
とy
の両方が数値の場合、またはワイド形式のデータのプロット時にあいまいさを解決するために使用できます。バージョン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"])
カテゴリカル変数でグループ化し、データフレーム内の列を参照します。
sns.boxplot(data=titanic, x="age", y="class")
2 つの変数によるネストされたグループ化を使用して、垂直方向の boxplot を描画します。
sns.boxplot(data=titanic, x="class", y="age", hue="alive")
ボックスを線画として描き、その間に小さな隙間を追加します。
sns.boxplot(data=titanic, x="class", y="age", hue="alive", fill=False, gap=.1)
ウィスカーでデータの全範囲をカバーします。
sns.boxplot(data=titanic, x="age", y="deck", whis=(0, 100))
より狭いボックスを描画します。
sns.boxplot(data=titanic, x="age", y="deck", width=.5)
すべての線アーティストの色と幅を変更します。
sns.boxplot(data=titanic, x="age", y="deck", color=".8", linecolor="#137", linewidth=.75)
数値変数でグループ化し、その元のスケーリングを保持します。
ax = sns.boxplot(x=titanic["age"].round(-1), y=titanic["fare"], native_scale=True) ax.axvline(25, color=".3", dashes=(2, 2))
基礎となる 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}, )