seaborn.stripplot#

seaborn.stripplot(data=None, *, x=None, y=None, hue=None, order=None, hue_order=None, jitter=True, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor=<default>, linewidth=0, hue_norm=None, log_scale=None, native_scale=False, 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文字列のリスト

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

jitterfloat、True/1は特別な場合として扱われます

適用するジッターの量(カテゴリカル軸に沿ってのみ)。多くの点が重なっている場合、分布を見やすくするために役立ちます。ジッターの量(一様ランダム変数のサポートの幅の半分)を指定するか、適切なデフォルト値としてTrueを使用できます。

dodgebool

hue変数が割り当てられている場合、これをTrueに設定すると、カテゴリカル軸に沿って異なるhueレベルのストリップが分離され、各ストリップに割り当てられるスペースが狭くなります。それ以外の場合は、各レベルの点が同じストリップにプロットされます。

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

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

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

colormatplotlibの色

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

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

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

sizefloat

マーカーの半径(ポイント単位)。

edgecolormatplotlibの色、「gray」は特別な場合として扱われます

各点の周りの線の色。"gray"を渡すと、明るさは、点の本体に使用されるカラーパレットによって決まります。stripplotはデフォルトでlinewidth=0なので、エッジの色はゼロ以外の線幅でしか見えません。

linewidthfloat

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

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

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

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

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

軸の尺度をlogに設定します。単一の値は、プロット内の任意の数値軸のデータ軸を設定します。値のペアは、各軸を個別に設定します。数値は、目的の底(デフォルトは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」の場合、レベルの数に基づいてbriefまたはfull表現を選択します。Falseの場合、凡例データは追加されず、凡例は描画されません。

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

axmatplotlib Axes

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

kwargsキーと値のマッピング

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

戻り値:
axmatplotlib Axes

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

参照

swarmplot

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

boxplot

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

violinplot

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

catplot

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

単一の数値変数を割り当てると、他の軸上にランダムに「ジッター」された点でその単変量分布が表示されます。

tips = sns.load_dataset("tips")
sns.stripplot(data=tips, x="total_bill")
../_images/stripplot_1_0.png

第2の変数を割り当てると、その変数のカテゴリレベルを比較するために、点のストリップが分割されます。

sns.stripplot(data=tips, x="total_bill", y="day")
../_images/stripplot_3_0.png

カテゴリ変数と数値変数の割り当てを入れ替えることで、垂直方向のストリップを表示します。

sns.stripplot(data=tips, x="day", y="total_bill")
../_images/stripplot_5_0.png

バージョン0.12より前では、カテゴリ変数のレベルはデフォルトで異なる色を持っていました。同じ効果を得るには、hue変数を明示的に割り当てます。

sns.stripplot(data=tips, x="total_bill", y="day", hue="day", legend=False)
../_images/stripplot_7_0.png

または、hueに異なる変数を割り当てて、多次元関係を示すこともできます。

sns.stripplot(data=tips, x="total_bill", y="day", hue="sex")
../_images/stripplot_9_0.png

hue変数が数値の場合、デフォルトで定量的パレットでマッピングされます(バージョン0.12以前はそうではありませんでした)。

sns.stripplot(data=tips, x="total_bill", y="day", hue="size")
../_images/stripplot_11_0.png

paletteを使用して色のマッピングを制御し、定性的パレットの名前を渡すことでカテゴリカルマッピングを強制します。

sns.stripplot(data=tips, x="total_bill", y="day", hue="size", palette="deep")
../_images/stripplot_13_0.png

デフォルトでは、hue変数の異なるレベルは各ストリップで混在していますが、dodge=Trueを設定すると、それらが分割されます。

sns.stripplot(data=tips, x="total_bill", y="day", hue="sex", dodge=True)
../_images/stripplot_15_0.png

jitter=Falseを設定することで、ランダムジッターを無効にできます。

sns.stripplot(data=tips, x="total_bill", y="day", hue="sex", dodge=True, jitter=False)
../_images/stripplot_17_0.png

ワイドフォームモードでプロットする場合、データフレームの数値列はxhueの両方にマッピングされます。

sns.stripplot(data=tips)
../_images/stripplot_19_0.png

ワイドフォームモードで向きを変更するには、orientを明示的に渡します。

sns.stripplot(data=tips, orient="h")
../_images/stripplot_21_0.png

orientパラメータは、両方の軸変数が数値の場合にも役立ちます。これは、どの次元をグループ化(およびジッター)するかについての曖昧さを解消するためです。

sns.stripplot(data=tips, x="total_bill", y="size", orient="h")
../_images/stripplot_23_0.png

デフォルトでは、カテゴリ変数は数値であっても、固定スケール(0, 1, …)を持つ離散インデックスにマッピングされます。

sns.stripplot(
    data=tips.query("size in [2, 3, 5]"),
    x="total_bill", y="size", orient="h",
)
../_images/stripplot_25_0.png

この動作を無効にして変数の元のスケールを使用するには、native_scale=Trueを設定します。

sns.stripplot(
    data=tips.query("size in [2, 3, 5]"),
    x="total_bill", y="size", orient="h",
    native_scale=True,
)
../_images/stripplot_27_0.png

matplotlib.axes.Axes.scatter()のキーワード引数を渡すことで、さらなる視覚的なカスタマイズを実現できます。

sns.stripplot(
    data=tips, x="total_bill", y="day", hue="time",
    jitter=False, s=20, marker="D", linewidth=1, alpha=.1,
)
../_images/stripplot_29_0.png

複数のファセットを持つプロットを作成するには、catplot()を直接FacetGridで操作するよりも、catplot()を使用する方が安全です。catplot()は、各ファセットでカテゴリ変数とhue変数が適切に同期されるようにするためです。

sns.catplot(data=tips, x="time", y="total_bill", hue="sex", col="day", aspect=.5)
../_images/stripplot_31_0.png